怎么写个定时的功能?

这代码挺简单,大概思路就是先做个时间记录,然后循环比对时间,看看有没有到时间。

举个例子,脚本每隔20秒执行一下A操作,其余时间执行B操作,想想这个操作该怎么写。

直接上代码:

启动定时()

Do

If 定时检测(20) Then //参数20代表20秒

TracePrint "执行a操作--------------"

启动定时()

Else

TracePrint "执行b操作"

End If

Delay 200

Loop


/*----以下代码直接放到脚本的最后面----*/

Function 启动定时()

file.Write("/sdcard/pictures/定时.txt",TickCount())

End Function

Function 定时检测(miao)

Dim t=file.read("/sdcard/pictures/定时.txt")

Dim n=1000*miao

If Len(t) = 0 Then

TracePrint "还未启动定时"

EndScript

End If

If TickCount() - t > n Then

定时检测 = true

Else

定时检测=false

End If

End Function

我的代码中写了2个函数,函数1是启动定时,函数2是定时检测。

你在写脚本的时候,如果是我这种定时思路,可以直接用我上面的框架,如果你是想要在你脚本中插入这个定时功能,可以这么写:

第一步:把两个函数放到你的脚本最下面。

/*----以下代码直接放到脚本的最后面----*/

Function 启动定时()

file.Write("/sdcard/pictures/定时.txt",TickCount())

End Function

Function 定时检测(miao)

Dim t=file.read("/sdcard/pictures/定时.txt")

Dim n=1000*miao

If Len(t) = 0 Then

TracePrint "还未启动定时"

EndScript

End If

If TickCount() - t > n Then

定时检测 = true

Else

定时检测=false

End If

End Function

第二步:在你需要定时的代码位置写上

启动定时()

第三步:检测到没到时间的代码位置写上

定时检测(20) //参数20代表20秒

这个函数有返回值,如果到时间了返回true,如果没有到时间返回false

你在使用的时候可以把返回值作为判断的条件,用来控制判断是否生效,把要执行的代码放入到判断里面。

平时我其实不用两个函数,这里为了方便大家使用,借助txt文本为媒介,并且把函数一分为二。

定时运行,比如设置9点半,开始运行call xxx(),这种定时有没?

解决这个问题的核心是获取时间。

这里我用的是获取系统时间,具体代码如下:

If Timing(9, 30) Then

TracePrint "到时间了!call xxx()"

Else

Delay 1000

End If

Function Timing(hrs,min)

If hrs= DateTime.Hour() and min=DateTime.minute() Then

Timing = true

Else

Timing=false

End if

End Function

在代码中,我依然是封装了函数方便调用,使用时要循环执行timing()这个函数。

比如这样:

Do

If Timing(9, 30) Then

TracePrint "到时间了!call xxx()"

Else

Delay 1000

End If

Loop

每隔一秒钟监测一下是不是到时间了,这个间隔时间最大值是1分钟,如果超过1分钟就会出现到时间了也没有提示。

所以如果你想在等待时间内执行其他操作,必须在间隔1分钟以内就要执行一次监测代码。

探索按键精灵的多样自动化脚本选择,包括iOS越狱版和免越狱版,涵盖了iOS和安卓系统的各种脚本,正在适配最新的iOS 15和iOS 16系统版本。同时,鹰眼软件提供手机群控、微信群控、游戏群控、手机投屏、手机云控以及电脑远程控制手机功能,为您的操作体验增添更多的趣味与便利!