找回密码
 加入
搜索
楼主: jienis

[AU3基础] 程序就差最后1步了。求大神支招关于_Timer_SetTimer 函数问题

 火.. [复制链接]
发表于 2012-6-16 18:19:09 | 显示全部楼层
回复 9# netegg

嘿嘿 我是在解释AdlibRegister函数,不料解释错了,10s跟10ms还是有差别滴。。。。
发表于 2012-6-16 21:50:06 | 显示全部楼层
回复 13# afan
请教A大,为什么把函数"_DJS"里面的参数去掉就不行,不是那4个参数没有用到吗?
发表于 2012-6-16 21:54:53 | 显示全部楼层
本帖最后由 afan 于 2012-6-16 21:58 编辑

回复 17# xms77


    那是个回调函数,而且必须得有4个参数(_Timer_SetTimer 函数内部是 $hCallBack = DllCallbackRegister($sTimerFunc, "none", "hwnd;int;uint_ptr;dword")),只是调用时并不需要这些,用 #forceref 忽略掉
发表于 2012-6-17 11:10:04 | 显示全部楼层
又学习了一招哈。。
发表于 2012-6-17 19:01:01 | 显示全部楼层
回复 18# afan
感谢A大的解惑!
发表于 2012-6-19 22:45:42 | 显示全部楼层
这个还没看过,像这个弄出来可以弄成多线程不???
发表于 2012-6-20 12:21:23 | 显示全部楼层
回复 11# auto

对于某些延时操作可以使用异步非阻塞的调用方式玩玩。
发表于 2012-6-20 13:42:19 | 显示全部楼层
回复 22# republican

AU3有异步非阻塞调用方式,如何使用……有没有例子参考一下
还是指HTTP的GET
发表于 2012-6-20 13:45:34 | 显示全部楼层
LZ 如果有简单源码例子应该早就解决了。
要做到LZ的要求实现的方法不少,这里写了个简单例子,给需要的朋友 ...
afan 发表于 2012-6-16 10:15



    进来学习了
发表于 2021-4-23 23:06:59 | 显示全部楼层
afan 发表于 2012-6-16 10:15
LZ 如果有简单源码例子应该早就解决了。
要做到LZ的要求实现的方法不少,这里写了个简单例子,给需要的朋 ...

在此基础上,如果想增加个暂停倒计时功能,该用什么方法呢?用_Timer_KillTimer()可以吗?不知A版能否给个例子?
发表于 2021-4-23 23:30:16 | 显示全部楼层
fengjie 发表于 2021-4-23 23:06
在此基础上,如果想增加个暂停倒计时功能,该用什么方法呢?用_Timer_KillTimer()可以吗?不知A版能否给 ...

十年前的帖子都被你翻出来了……
#include <Timers.au3>

Local $hGUI = GUICreate('倒计时+暂停', 350, 100)
Global $iBtn = GUICtrlCreateButton('暂停/继续', 10, 10, 100, 22)
Global $iLabel = GUICtrlCreateLabel('10', 120, 40, 100, 30, 0x01)
GUICtrlSetFont(-1, 20, 800, 0, '微软雅黑')
GUISetState()
Global $iTotal = 10, $iCount = $iTotal
Global $bIsPause = False
Global $iTimer = _Timer_SetTimer($hGUI, 1000, '_DJS')

While 1
        Switch GUIGetMsg()
                Case -3
                        ExitLoop
                Case $iBtn
                        $bIsPause = Not $bIsPause
        EndSwitch
WEnd
_Timer_KillTimer($hGUI, $iTimer)
GUIDelete()

Func _DJS($hWnd, $iMsg, $iIDTimer, $iTime)
        If $bIsPause Then Return
        $iCount -= 1
        GUICtrlSetData($iLabel, $iCount)
        If $iCount = 0 Then
                _Timer_KillTimer($hGUI, $iTimer)
                GUICtrlSetState($iBtn, 32)
                MsgBox(0, '', '时间到')
        EndIf
EndFunc   ;==>_DJS
发表于 2021-4-24 18:35:11 | 显示全部楼层
afan 发表于 2021-4-23 23:30
十年前的帖子都被你翻出来了……

啊哈哈哈,十年一眨眼就过了
谢谢A版的例子,学习了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-20 05:15 , Processed in 0.072670 second(s), 13 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表