tanyinhua 发表于 2014-4-2 23:27:52

有没有一个定时器功能的函数?[已解决]

本帖最后由 tanyinhua 于 2014-4-4 02:08 编辑

就是当启动以后,就开始计时,但不影响主程序的运行,主程序运行的同时,定时器也在计时,当达到预定的时间,定时器启动一个子程序或者运行一个命令?
我有试过AdlibRegister函数,不知道是不是这种功能,但运行会提示我没定义此函数,悲剧,然后又试过Timer函数,但感觉不够灵活,AU3的语法还是比较严格,TimerDiff不能出现在TimerInit前面等一些问题,让代码复杂化很多。。
请问有没有一个类似定时器功能的函数?
就相当于按键里的定时器,易语言里的时钟。。
求老人们帮忙解惑,谢谢。。

从新找了个最新版本的AU3装上后,AdlibRegister函数可以正常使用了,问题解决。。。

babicy 发表于 2014-4-3 10:49:59

是否可以在主程序循环加个时间判断?

tanyinhua 发表于 2014-4-3 12:48:44

回复 2# babicy


    要不影响主程序的运行啊,在主程序里判断那就起不到作用了。

damoo 发表于 2014-4-3 13:10:36

不知道这个能否满足你的要求。
#include <Timers.au3>
#include <GUIConstantsEx.au3>
#include <Date.au3>

$myGui = GUICreate("用计时器的例子")
$myLabel = GUICtrlCreateLabel(_NowTime(), 10, 20)
_Timer_SetTimer($myGui,1000,"TimeUp")
GUISetState()

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE

Func TimeUp($a,$b,$c,$d)
;MsgBox ( 0, "Game Over", "Out of time")
GUICtrlSetData($myLabel,_NowTime())
EndFunc

tanyinhua 发表于 2014-4-3 14:39:55

回复 4# damoo


    测试过确实可以满足我的要求,但这个计时器函数必须要有相对应的计时器窗口句柄,可以有办法去掉窗口吗?
或者只能先启动窗口然后隐藏窗口?

user3000 发表于 2014-4-3 19:40:50

回复 1# tanyinhua

没定义此函数? AU3的版本过于落后了吧?

tanyinhua 发表于 2014-4-3 19:43:40

回复 6# user3000


    我就是上个月在论坛里下的版本,悲剧,我再找找有没有更新的版本。。

heiyin 发表于 2014-4-3 23:43:37

新手呀,看不懂,求指教,谢

tanyinhua 发表于 2014-4-4 02:13:32

回复 4# damoo


    重装了AU3最新版本,AdlibRegister函数正常了,不过还是谢谢你的解答。。

ncxj 发表于 2016-7-31 15:33:20

_Timer_SetTimer()
这个函数可以的
页: [1]
查看完整版本: 有没有一个定时器功能的函数?[已解决]