這是一個模擬機器答案的腳本,我的問題是「WaitForStrings」dosent區分「open」和「open1」或「close」和「close1」,他總是回答 「打開」 和 「關閉」使用WaitForStrings()和Switch Case的secureCRT VBS
firstopen=true
while(true)
\t strResult = crt.Screen.WaitForStrings("open1","close1","open","close","SCAN")
\t Select Case strResult
\t \t Case 1
\t \t \t crt.Sleep 500
\t \t \t crt.Screen.Send("open1_ok") & chr(13)
\t \t Case 2
\t \t \t crt.Sleep 500
\t \t \t crt.Screen.Send("close1_ok") & chr(13)
\t \t Case 3
\t \t \t If firstopen=true then
\t \t \t \t crt.Sleep 500
\t \t \t \t crt.Screen.Send("open_ok") & chr(13) \t
\t \t \t \t firstopen=false
\t \t \t else
\t \t \t \t crt.Sleep 500
\t \t \t \t crt.Screen.Send("ok") & chr(13)
\t \t \t \t firstopen=true
\t \t \t end if \t
\t \t Case 4
\t \t crt.Sleep 500
\t \t crt.Screen.Send("ready") & chr(13)
\t \t Case 5
\t \t crt.Sleep 500
\t \t crt.Screen.Send("CCD_PASS") & chr(13)
\t \t
\t \t Case Else
\t \t crt.Screen.Dialog "We didn't find what we were looking for"
\t
\t End Select
wend
那麼你想讓我們做什麼?我們不能改變'WaitForStrings()'方法的行爲,也許可以嘗試'「1open」'和'「1close」',看看它是否可以識別。你只需要處理這個限制並找到解決方法。 – Lankymart
這是我不能改變預期字符串的問題... – idan357
是['Screen.Synchronous = True'](https://stackoverflow.com/a/46668176/692942)? – Lankymart