【请教】关于if then条件判断
本帖最后由 aben_wang 于 2015-6-17 09:08 编辑用au3自动执行一个tool,这个tool大概会运行110s左右结束(会实时产生log)
我的本意是,打开tool以后,等待90S.然后检查log里是否有固定的字符串,如果有,证明tool已经运行完成。如果还没有,我等待10S后再检查一次,
代码已经完成,如下,能正常运行,但是我在做错误验证的时候,(字符串改成LOG里没有的),程式也会说找到了。然后正常关闭$TITLE = "MfgTool_MultiPanel (Library: 2.4.1)"
$File = FileOpen("MfgTool.txt")
$Str = ("echo Update Complete!") ;再做错误验证的时候,我把这里改成log里面没有的字符串,程式没有跳出MsgBox
$String = FileRead($File)
Run("MfgTool2.exe")
WinWait("")
WinActivate("")
WinMove("","",0,0)
Sleep(300)
MouseClick("left",313,153,1)
Sleep(90000)
If StringInStr($string,$str) = 0Then
MouseClick("left",313,153,1)
Sleep(700)
MouseClick("left",412,153,1)
Elseif Sleep(5000)
If StringInStr($string,$str) = 0Then
MouseClick("left",313,153,1)
Sleep(700)
MouseClick("left",412,153,1)
Else
MsgBox(0,"","Fail")
EndIf
EndIf
WinClose($TITLE) 按照你的代码,不存在的时候就是没有msg 回复 2# haijie1223
啊?我是想要在不存在的时候跳MSGbox,请教下问题在哪边呢?谢谢
判断写反了嘛? Elseif Sleep(5000)
我试了下会被判断为turn,条件写错了 Elseif Sleep(5000)
我试了下会被判断为turn,条件写错了
wInkly_cc 发表于 2015-6-17 10:20 http://www.autoitx.com/images/common/back.gif
谢谢,条件换了下,还是不行。。 回复 5# aben_wang
改过后的判断语句贴出来,日志文本贴出来 回复 1# aben_wang
关键还是在于要实时读取LOG.Local $Str = ("echo Update Complete!") ;再做错误验证的时候,我把这里改成log里面没有的字符串,程式没有跳出MsgBox
Local $TITLE = "MfgTool_MultiPanel (Library: 2.4.1)"
Run("MfgTool2.exe")
WinWait("")
WinActivate("")
WinMove("", "", 0, 0)
Sleep(300)
MouseClick("left", 313, 153, 1)
Sleep(90 * 1000)
If StringInStr(_get_data(), $Str) Then
MouseClick("left", 313, 153, 1)
Sleep(700)
MouseClick("left", 412, 153, 1)
Else
Sleep(10 * 1000)
If StringInStr(_get_data(), $Str) Then
MouseClick("left", 313, 153, 1)
Sleep(700)
MouseClick("left", 412, 153, 1)
Else
MsgBox(0, "", "Fail")
EndIf
EndIf
WinClose($TITLE)
Func _get_data()
Local $File = FileOpen("MfgTool.txt")
Local $String = FileRead($File)
FileClose($File)
Return $String
EndFunc ;==>_get_data
回复 7# Alam
先谢谢你了
试了下,不行。在第二个条件判断的时候,反了,改完以后就可以了正常运行了
不过这样的话 $str改成XXX,又无法卡下来,直接跳结束了 这是由操作系统的决定的,一个文件前一个进程没有关闭的时候,第二个是没有发读取的 回复 1# aben_wang
楼主请尝试在新生成日志文件时,生成完成将文件关闭,读取前重新打开。
我之前碰到类似问题,就是这么解决的! 这什么乱七八糟的 本帖最后由 ila 于 2015-6-19 21:46 编辑
打开文件,读取文件。
为什么没一个@error判断?
窗口等待也没有失败的处理。 学习了,不错哦 謝謝分享,看一下。 謝謝分享,看一下。
页:
[1]
2