• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[源码分享] [按键精灵]8个有用的代码段 [复制链接]

1#

大家好,我是郭立员~

前言

写一些我常用的功能性的代码段:

(1) 不重复的写入文本

  1. Dim path = "/sdcard/pictures/账号.txt"

  2. Function FileWrite(path,str)
  3. Dim arr = file.readlines(path)
  4. If Len(arr) = 0 Then
  5. File.Write(path, str&"\r\n")
  6. Else
  7. For i = 1 To Len(arr)
  8. If arr[i] = str Then
  9. Exit For
  10. End If
  11. If i = Len(arr) Then
  12. File.Append(path, str&"\r\n")
  13. End If
  14. Next
  15. End If
  16. End Function
复制代码

(2)文本读一行删一行

  1. Dim path = "/sdcard/pictures/账号.txt"
  2. TracePrint fileReadLine(path)

  3. Function fileReadLine(path)
  4. Dim str = file.readline(path,1)
  5. If Len(str) > 0 Then
  6. file.DeleteLine path, 1
  7. fileReadLine = str
  8. Else
  9. TracePrint "文本内容已空"
  10. End If
  11. End Function
复制代码

(3)获取小精灵包名

  1. TracePrint getPackage()

  2. Function getPackage()
  3. Dim path = GetTempDir()
  4. Dim arr = split(path, "/")
  5. getPackage = arr[ubound(arr)]
  6. End Function
复制代码

(4)对数组进行排序

  1. Dim arr = {13,7,4,18,17,26,7,19,10}
  2. Dim ret = sorted(arr)
  3. TracePrint encode.TableToJson(ret)

  4. Function sorted(arr)
  5. Dim num
  6. For UBOUND(arr)
  7. For i = 1 To UBOUND(arr)
  8. If arr[i] > arr[i + 1] Then
  9. num = arr[i]
  10. arr[i] = arr[i + 1]
  11. arr[i+1] = num
  12. End If
  13. Next
  14. Next
  15. sorted = arr
  16. End Function
复制代码

(5)查找数组最大值和最小值

  1. Dim Matharr = {13,7,4,18,17,26,7,19,10}
  2. Traceprint "数组中最大值:",MathMax (arr)
  3. TracePrint Encode.TableToJson(arr) //修改了数组内容
  4. Traceprint "数组中最小值:",MathMin (arr)

  5. Function MathMax(arr)
  6. For i = 1 To UBOUND(arr)
  7. If arr[i] > arr[i + 1] Then
  8. arr[i+1] = arr[i]
  9. End If
  10. Next
  11. MathMax = arr[len(arr)]
  12. End Function

  13. Function MathMin(arr)
  14. For i = 1 To UBOUND(arr)
  15. If arr[i] < arr[i + 1] Then
  16. arr[i+1] = arr[i]
  17. End If
  18. Next
  19. MathMin = arr[len(arr)]
  20. End Function
复制代码

(6)拆分打码平台的坐标返回值

  1. Import "shanhai.lua"
  2. Dim ret = "435,147|684,352|224,66|451,116"
  3. splitCoordinate(ret)

  4. Function splitCoordinate(ret)
  5. Dim arr = shanhai.RegexFindEx(ret,"(%d+),(%d+)")
  6. For i = 1 To Len(arr)
  7. TracePrint arr[i][1],arr[i][2]
  8. Next
  9. End Function
复制代码

(7)字符串拆分成数组

  1. Dim str = "12345456"
  2. Dim arr = strAsArr(str)
  3. TracePrint encode.TableToJson(arr)

  4. Function strAsArr(str)
  5. Dim arr = {null}
  6. For i = 1 To Len(str)
  7. arr[i] = mid(str,i,1)
  8. Next
  9. strAsArr = arr
  10. End Function
复制代码

(8)定时脚本

  1. import "shanhai.lua"
  2. Dim 小时 = 19
  3. Dim 分钟 = 44
  4. If fixedTime(小时, 分钟) Then
  5. TracePrint "到时间了"
  6. Else
  7. TracePrint "没有到时间"
  8. End If

  9. Function fixedTime(h, m)
  10. Dim t = Now()
  11. Dim arr_time = shanhai.RegexFind(t,"(%d+):")
  12. TracePrint arr_time[1],arr_time[2]
  13. If cint(arr_time[1]) = cint(h) and cint(arr_time[2]) = cint(m) Then
  14. fixedTime = true
  15. End If
  16. End Function
复制代码

先写这么多,以后想到其他的再补充。


扫码免费获取我的基础教程【视频教程】
扫码下方二维码关注我的公众号:3分钟学堂

QQ交流群:936858410
发新话题 回复该主题