Здравствуйте, в моём проекте понадобилось использовать Pixelcheсksum, и если с Pixelsearch всё относительно просто, потому как он возвращает либо 1 либо 0, то с Pixelchecksum мне не хватает ума построить логику, вот такая фигня точно не работает:
Постоянно выбивает в Case Else хотя точно известно,что эта сумма есть в тех координатах, осознаю что написал логику криво, но не доходит как правильно написать не засовывая в ещё один оператор типа if.
нам заранее известно, что PixelChecksum(1803, 36,1810, 46) = 1265705201, либо может быть любым другим, но в тестах я заранее знал сумму пикселей.
Постоянно выбивает в Case Else хотя точно известно,что эта сумма есть в тех координатах, осознаю что написал логику криво, но не доходит как правильно написать не засовывая в ещё один оператор типа if.
нам заранее известно, что PixelChecksum(1803, 36,1810, 46) = 1265705201, либо может быть любым другим, но в тестах я заранее знал сумму пикселей.
Код:
Func c_station()
While $c_station <= 5
Sleep(50)
Local $c_station_p = PixelChecksum(1803, 36,1810, 46)
Local $c_station_p1 = 1265705201
Select
Case $c_station_p = $c_station_p1
$c_station = $c_station + 1
ToolTip("Проверка пройдена, мы на станции" & @CRLF & "Ok" & @CRLF & "$c_station = " & $c_station,25,35,"Датчик Станции",1,4)
sleep(500)
Case $c_station_p <> $c_station_p1
$c_station = $c_station + 0
ToolTip("Проверка НЕ пройдена, мы НЕ на станции" & @CRLF & @CRLF & "$c_station = " & $c_station,25,35,"Датчик Станции",1,4)
sleep(500)
Case Else
$c_station = $c_station -1
ToolTip("Стыковочный режим неисправен" & @CRLF & @CRLF & "$c_station = " & $c_station,25,35,"Датчик Станции",1,4)
sleep(500)
EndSelect
sleep(2000)
WEnd
EndFunc