我有一個腳本,用於輸入記錄在我們的系統中最初正常工作與MsgBox,但我添加了一個GUI來顯示記錄條目。現在腳本在第一條記錄後停止。循環,讀取後停止一個記錄與GUI(不循環)
在下面的例子中,我已經刪除了所有的操作和記錄行,以幫助更容易解析,但是我保留了所有重要的東西並測試了此版本的腳本。
Loop, read, C:\_AutoHotKey\AA_test.txt
{
StringSplit, LineArray, A_LoopReadLine, %A_Tab%
aaduedate := LineArray1
aauniqueid := LineArray2
aaprefix := LineArray3
aasequence := LineArray4
aadescript := LineArray5
aaelig := LineArray6
;-------------------------------------------------------------------------------------
;Use these to test the file match in the Input File.
;Remove surrounding comments and surround the rest of the script up to the last brace.
SendInput, Prefix: %aaprefix% {enter}
SendInput, Sequence: %aasequence% {enter}
SendInput, Description: %aadescript% {enter}
SendInput, Eligibility: %aaelig% {enter}
SendInput, ID Card: %aaidcard% {enter}
;---------------------------------------------------------------------------------------
;Pop-up validation menu
Gui, Add, Button, x22 y380 w100 h30 , &Submit
Gui, Add, Button, x362 y380 w100 h30 , &Cancel
Gui, Font, S14 CDefault, Verdana
Gui, Add, Text, x152 y10 w210 h30 +Center, Is the entry correct?
Gui, Font, S10 CDefault, Verdana
Gui, Add, Text, x102 y40 w90 h20 , %aaprefix%
Gui, Add, Text, x102 y70 w130 h20 , %aaelig%
Gui, Add, Text, x312 y70 w30 h20 , %aadescript%
Gui, Add, Text, x432 y70 w30 h20 , %aaidcard%
Gui, Font, S8 CDefault, Verdana
Gui, Add, Text, x132 y380 w230 h40 +Center, Click Submit/press S to continue. Click cancel to stop script.
; Generated using SmartGUI Creator 4.0
Gui, Show, x9 y250 h428 w480, Auto Action Validation
Return
ButtonCancel:
ExitApp
ButtonSubmit:
Gui, Submit ;
MouseMove, 630,55
Sleep, 100
SendInput, {Click 630,55}
SendInput ^S
Return
}
這些按鈕可以工作,點擊提交將發送MouseMove和SendInput。但在此之後,它會停止並且不會加載文本文件中的下一條記錄。
在此先感謝!
這種編程方法存在的問題是,如果您遺漏了 * return *命令,則循環不會暫停。所以這也行不通。更好的方法是編寫一個函數 ,它只讀取列表中的下一個項目並鍵入它。然後,您可以將該GUI從循環中打開並在每次確認輸入時調用此函數。這有點棘手。如果您是初學者,如果您在循環中打開帶有「是/否」按鈕的消息框,則可能會獲得更多成功。 – 576i
啊。射擊。那麼,我是一個初學者,但是,我還需要有記錄顯示供用戶驗證。所以,它看起來像我將學習如何將GUI退出循環。 謝謝! (如果您有任何提示,我應該在幫助中尋求幫助,這將不勝感激。) – user2734945
我已經想出瞭如何使這項工作,並仍然獲得顯示記錄的GUI。我將提交和取消按鈕從GUI中取出,並將MsgBox帶回。如果MsgBox評估爲yes,則會銷燬GUI。 我的下一個評論中有代碼,還有一些小東西可以將消息框移開。 – user2734945