Что нового

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

agikon

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

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

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

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

Viktor1703

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

Код:
$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
Репутация
17
а я то думал в чем дело.
спасибо за помощь.
 
Верх