while和Func如何共存?
本帖最后由 zzmxd 于 2012-9-1 21:50 编辑就像这样,几个如果调换顺序,总有一些代码失效,该如何让他们都能生效?While 1
Local $msg = TrayGetMsg()
Local $nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_MINIMIZE
GUISetState(@SW_HIDE)
Case $GUI_EVENT_CLOSE
Exit
Case $Button2
Local $i = 0
Do
ProcessSetPriority ( "1.exe", 3 )
Sleep (1000)
$i = $i + 1
Until $i = 10
EndSwitch
Select
Case $msg = 0
ContinueLoop
Case $msg = $prefsitem1
GUISetState(@SW_SHOWNORMAL)
Case $msg = $prefsitem2
GUISetState(@SW_HIDE)
Case $msg = $aboutitem
MsgBox(64, "关于:", "http://www.autoitx.com/")
Case $msg = $exititem
ExitLoop
EndSelect
WEnd
TraySetState()
Example()
Func Example()
TraySetOnEvent($TRAY_EVENT_PRIMARYDOUBLE, "TrayEvent")
TraySetState(1) ; Show the tray menu.
While 1
Sleep(100); 空闲循环
WEnd
EndFunc ;==>Example
Func TrayEvent()
Switch @TRAY_ID ; Check the last tray item identifier.
Case $TRAY_EVENT_PRIMARYDOUBLE
; Display a message box about the AutoIt version and installation path of the AutoIt executable.
MsgBox(4096, "", "AutoIt tray menu example." & @CRLF & @CRLF & _
"Version: " & @AutoItVersion & @CRLF & _
"Install Path: " & StringLeft(@AutoItExe, StringInStr(@AutoItExe, "\", 0, -1) - 1)) ; Find the folder of a full path.
EndSwitch
EndFunc ;==>TrayEvent
Func ExitScript()
Exit
EndFunc 不是while语句无法运行,就是func语句无法运行。 帮助文件里的例子似乎没有类似的,只有分开来的。。。 楼主会说正经的中国话吗?完全没明白说的是什么意思 回复 3# netegg
就是说如果用这个代码运行的话,会有一些无法执行,将失效,如同没有这段代码一般,估计有冲突 那要看哪几个调换顺序,如果你把While 1放到WEND后那自然会出错 本帖最后由 netegg 于 2012-9-1 19:34 编辑
合到一个条件里
select
case $nMsg = or $msg =
case
endselect
试试看
还有把标题改下,你的问题和while/func有什么关系 本帖最后由 seniors 于 2012-9-1 19:33 编辑
不好意思看错
发全代码吧 回复 6# netegg
标题没错,因为不是while语句无法运行,就是func语句无法运行。 本帖最后由 netegg 于 2012-9-1 21:28 编辑
回复 8# zzmxd
func是定义,和运行有什么关系,只有逻辑和运行有关
另外你上来的那段代码里什么地方有func
另外搜了搜楼主的帖子,建议楼主先把基本知识再看看吧,这样问的话,说不明白的 回复 9# netegg
不好意思,代码少复制了一段,现在补充完整。另外哪里有基本资料?我看过Autoit的自带帮助文件,里面描述Func语句的例子里没有插入While,While语句里也没有Func,所以我不知道他们该怎么排列。 你这个while里调用哪个func了?
除了这个选项
Case $msg = $exititem
ExitLoop
退出循环后才能执行后面的func,没仔细试,不过大概应该是这个逻辑 回复 10# zzmxd
while和func没什么关系,只要while...wend和func...endfunc别穿插就行 回复 12# netegg
好的,我试试 小弟实在没看懂 楼主的意思
while 是循环 有循环套循环的也有函数在循环里面的
func 是自定义函数里面可以有循环 也可以有函数
两个怎么会搞到一起呢??? 看不明白楼主的意思,估计是无法同时响应GUI和托盘的动作命令吧~~
混乱中{:face (382):}
页:
[1]
2