Ceci est un script pour simuler des réponses d'une machine, mon problème est que "WaitForStrings" dosent faire la différence entre "open" et "open1" ou "close" et "close1", il répond toujours à "ouvrir" et "fermer"secureCRT VBS en utilisant WaitForStrings() et Switch Case
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
Alors, que voulez-vous que nous fassions? Nous ne pouvons pas changer le comportement de la méthode 'WaitForStrings()', essayez peut-être '" 1open "' et '" 1close "' à la place et voyez s'il le reconnaît. Vous avez juste besoin de travailler avec la limitation et de trouver un moyen de contourner cela. – Lankymart
c'est le problème que je ne peux pas changer la chaîne attendue ... – idan357
Est ['Screen.Synchronous = True'] (https://stackoverflow.com/a/46668176/692942)? – Lankymart