Всем привет!
Столкнулся с, на первый взгляд, необъяснимым глюком - в в прилагаемом сценарии ветка ELSE последнего IF'а никогда не наступает:
wndpos( wndfind("Connecting..."), 0, 0)
wndpos( wndfind("vulty-ipad-2.local"), 970, 0)
DEFINE ($var0, "screens\00001.bmp")
DEFINE ($var15, "screens\150003.bmp")
DEFINE ($flag, 0)
DEFINE ($str, "log_")
$flag = 0
logwrite("start", $flag)
LCLICK(1400, 750)
WAIT(2)
GETSCREEN
colormode(8)
$count = PXLCRC (769, 811, 797, 835)
screenshotex(550, 720, 580, 739, $str)
print($count)
logwrite("screen", $flag)
IF_PICTURE_IN (550, 720, 580, 739, $var0, 0, 99)
$flag=1
logwrite("0 found", $flag)
end_if
IF_PICTURE_IN (550, 720, 580, 739, $var15, 0, 99)
$flag = 1
logwrite("15 found", $flag)
end_if
logwrite("0 NOT found", $flag)
//IF(($count = $var0)|($count = $var15))
IF $flag = 1
LCLICK(1400, 750)
Logwrite("collect", $flag)
WAIT(1)
else
logwrite("charge", $flag)
WAIT(0.5)
LCLICK(1850,470)
END_IF
то есть равен флаг 1 или 0 - в логе идёт:
18:15:24 start0
18:15:27 3959175761
18:15:27 screen0
18:15:29 0 NOT found0
18:15:29 collect0
18:15:30 start0
18:15:32 3959175761
18:15:32 screen0
...
Впрочем, вопрос снимается:
достаточно было поставить скобки вокруг условия в последнем IF )
IF ($flag = 1)
...