1

Тема: AHK: If var and var - Возможно ли что-то такое?

Всем доброе время суток. Заранее прошу прощение, если вдруг подобная тема создавалась, но я найти подобного не смог .
Хочу реализовать нечто такое:

PixelSearch, Px, Py, 805, 183, 943, 305, 0xD4D4D4, 3, Fast ; ищем нужный цвет
      if ErrorLevel
          MsgBox, That color was not found in the specified region.
      if  (Px between 817 and 911) and (Py between 252 and 256) ; если (координата Х нужного цвета пикселя находится между 817 и 911) и 
                                                                       (координата У этого же пикселя находится между 252 и 256)
     goto, metka

metka:

Очень важно чтобы исполнялось двойное условие. Перепробовал всячески: ставил скобки везде, не ставил итд. Буду очень благодарен, если кто-то поможет.

2

Re: AHK: If var and var - Возможно ли что-то такое?

var1:=10
var2:=20
If (var1>1) and (var2<40)
msgbox, Оба условия выполнены

3 (изменено: b.e.f., 2011-02-13 18:31:50)

Re: AHK: If var and var - Возможно ли что-то такое?

ypppu пишет:
var1:=10
var2:=20
If (var1>1) and (var2<40)
msgbox, Оба условия выполнены

Спасибо, пытаюсь переварить и адаптировать для себя

4

Re: AHK: If var and var - Возможно ли что-то такое?

Точнее будет так:

Px := 850, Py := 255
if (Px > 817 and Px < 911) and (Py > 252 and Py < 256)
   MsgBox, Все условия выполнены!
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5

Re: AHK: If var and var - Возможно ли что-то такое?

teadrinker
А зачем скобки-то? Они ничего не дают.

6

Re: AHK: If var and var - Возможно ли что-то такое?

teadrinker пишет:

Точнее будет так:

Px := 850, Py := 255
if (Px > 817 and Px < 911) and (Py > 252 and Py < 256)
   MsgBox, Все условия выполнены!

Спасибо, все работает

7

Re: AHK: If var and var - Возможно ли что-то такое?

Совсем без скобок нельзя:

Px := 850, Py := 10000
if Px > 817 and Px < 911 and Py > 252 and Py < 256
   MsgBox, Все условия выполнены!

Можно так:

Px := 850, Py := 255
if (Px > 817 and Px < 911 and Py > 252 and Py < 256)
   MsgBox, Все условия выполнены!
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

8

Re: AHK: If var and var - Возможно ли что-то такое?

Да, действительно, без скобок только одиночное сравнение работает.

9

Re: AHK: If var and var - Возможно ли что-то такое?

Px := 850, Py := 250
IY1 := 252, IY2 := 256
if (Px > 817 and Px < 911 and Py > YI1  and Py < YI2)
   MsgBox, Все условия выполнены!

А почему так не работает, не подскажите?)

10

Re: AHK: If var and var - Возможно ли что-то такое?

А как оно должно работать? Переменные YI1 и YI2 не определены. Вместо этого значения присвоены IY1 и IY2 (первые два символа перепутаны местами). Вывод: переменные нужно называть более внятно, желательно осмысленно. И не ставить рядом символы "I", "l", "1".

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

11

Re: AHK: If var and var - Возможно ли что-то такое?

teadrinker пишет:

А как оно должно работать? Переменные YI1 и YI2 не определены. Вместо этого значения присвоены IY1 и IY2 (первые два символа перепутаны местами). Вывод: переменные нужно называть более внятно, желательно осмысленно. И не ставить рядом символы "I", "l", "1".

Прошу строго не судить, я только учусь)

Px := 850, Py := 250
A := 252, B := 256
if (Px > 817 and Px < 911 and Py > A  and Py < B)
   MsgBox, Все условия выполнены!

Если я правильно понял, теперь я присваиваю значения А и В, следовательно они определены? Но все равно не работает((

12

Re: AHK: If var and var - Возможно ли что-то такое?

Почему не работает? Всё работает! Py := 250, A := 252, значит Py < A, а в условии — Py > A, и сообщение не появляется.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

13

Re: AHK: If var and var - Возможно ли что-то такое?

teadrinker пишет:

Почему не работает? Всё работает! Py := 250, A := 252, значит Py < A, а в условии — Py > A, и сообщение не появляется.

Да, методом проб и ошибок тоже увидел это )) Спасибо  огромное за помощь)