Что нового

Как правильно прописать оператор "и" ?

agikon

Знающий
Сообщения
789
Репутация
16
требуется чтобы проверка шла сразу на два условия, и если например одно из условий не верно то действие не выполняется. в даном случает требуется чтобы два диапазона обрабатывались и условие срабатовало если только в двух диапазонах найдет нужный пиксель.
Я пишу вот так.
Код:
$coord = PixelSearch(5, 155, 30, 160, 0xfffbce) And $coord = PixelSearch(5, 300, 30, 305, 0xffffff)

но это условие срабатывает если даже в каком то одном диапазоне находит нужный пиксель. А мне надо чтобы условие срабатывало если в двух найдет нужный пиксели, а если в каком то одном диапазоне то условие не должно срабатывать.

Почему оператор And толи не срабатывает, толи служит как or?

Посоветуйте пожалуйста как быть?
 

Viktor1703

AutoIT Гуру
Сообщения
1 535
Репутация
410
Не в операторе дело:

Код:
$Sucess1 = 0
$Sucess2 = 0

$Coord1 = PixelSearch(5, 200, 30, 160, 0x000000) 
If Not @error Then $Sucess1 = 1

$Coord2 = PixelSearch(905, 300, 30, 305, 0xffffff)
If Not @error Then $Sucess2 = 1

If ($Sucess1 = 1) And ($Sucess2 = 1) Then
	MsgBox(0,'','')
Else
    Exit
EndIf
 

rusreg79

Продвинутый
Сообщения
159
Репутация
57
можно так
Код:
$coord1 = PixelSearch(5, 155, 30, 160, 0xfffbce) 
$coord2 = PixelSearch(5, 300, 30, 305, 0xffffff)
If IsArray($coord1) And IsArray($coord2) Then
	MsgBox(0,'','')
EndIf

или даже так
Код:
If IsArray(PixelSearch(5, 155, 30, 160, 0xfffbce) ) And IsArray(PixelSearch(5, 300, 30, 305, 0xffffff)) Then
	MsgBox(0,'','')
EndIf
 
Автор
A

agikon

Знающий
Сообщения
789
Репутация
16
а я то думал в чем дело.
спасибо за помощь.
 
Верх