|
发表于 2009-12-31 18:41:50
|
显示全部楼层
我一般使用事件模式,设置一个变量当标志,标志=0,就停止,=1就运行。。
而且尽可能的把你的那个循环分成很多很短小的步骤,每个步骤都尽量去验证一下那个标志变量,这样就不会因为循环太长而无法及时停止。。。。。
给个例子好了
HotKeySet("{esc}", "x")
$key = 1
a()
Func a()
Sleep(10)
For $i = 1 To 1000
If $key = 1 Then
ttt($i)
Sleep(30)
Else
ExitLoop
EndIf
Next
a()
EndFunc ;==>a
Func ttt($ttt, $widthy = 0);显示提示工具条,不想每次都数一大堆字符,节省au3文件大小
If $widthy = 0 Then $widthy = @DesktopWidth / 3
SplashTextOn("调试过程", $ttt, $widthy, @DesktopHeight / 20, -1, -1, 33, "", @DesktopHeight / 60)
EndFunc ;==>ttt
Func x()
$key = Abs($key - 1)
ttt("暂停中")
EndFunc ;==>x
这个例子按esc暂停后,再按esc会从头开始数数。。。。
下面给个接着数数的例子:
HotKeySet("{esc}", "x")
$key = 1
$i = 1
a()
Func a()
Sleep(10)
If $key = 1 Then
$i = $i+1
ttt($i)
Sleep(30)
EndIf
a()
EndFunc ;==>a
Func ttt($ttt, $widthy = 0);显示提示工具条,不想每次都数一大堆字符,节省au3文件大小
If $widthy = 0 Then $widthy = @DesktopWidth / 3
SplashTextOn("调试过程", $ttt, $widthy, @DesktopHeight / 20, -1, -1, 33, "", @DesktopHeight / 60)
EndFunc ;==>ttt
Func x()
$key = Abs($key - 1)
ttt("暂停中:"&$i)
EndFunc ;==>x |
评分
-
查看全部评分
|