Author Topic: Не выполняется условие цикла  (Read 1697 times)

0 Members and 1 Guest are viewing this topic.

Pleich

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Не выполняется условие цикла
« on: November 15, 2015, 06:48:48 PM »
В общем написал небольшой скрипт. Открывается окно, и там далее вводятся данные. Написал кусочек скрипта, что если окно не загрузилось, то ничего не делается, как только окно загрузилось, действия продолжаются.
Реализовал это через функцию $clr = PXL(x,y) и циклы. Нашел точку в этом окне , посмотрел ее цвет. Пока окно не откроется, цвет пикселя не совпадет. Сделано для компа который тупит, и что б скрипт раньше времени не начал работу, сначала надо что бы окно загрузилось.
Вот кусок кода
Code: [Select]
for ($l=1,$l<10000)
$clr = PXL(516,109)
if ($clr=10188629) //если окно открылось, то цвет совпадет и цикл for закончится за cчет $l=10000
  $l=10000
else  // если окно не открылось , делаем ожидание 50 мс, и пробуем еще раз сравнивать цвета
          WAITMS(50)
   inc($l, 1)
end_if
end_cyc

В результате хоть цвет и совпадает, все равно выполняется else. Подскажите пожалуйста где в синктасисе ошибся ??

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: Не выполняется условие цикла
« Reply #1 on: November 15, 2015, 06:58:14 PM »
отсутствует GETSCREEN.
в цикле фор, твоя переменная $l наращивается сама по себе, inc($l, 1) лишний.
правильно:
Code: (clickermann) [Select]
for ($l=1,$l<10000)
   GETSCREEN
   if (PXL(516,109)=10188629) //если окно открылось, то цвет совпадет и цикл for закончится за cчет $l=10000
      $l=10000
   else  // если окно не открылось , делаем ожидание 50 мс, и пробуем еще раз сравнивать цвета
      WAITMS(50)
   end_if
   
end_cyc

но правильнее будет взять скрипт из шаблона: циклы, условия - ожидание цвета.
Code: (clickermann) [Select]
// Ждем появления цвета 255 по координате 100,100
GETSCREEN
WHILE(PXL (100, 100) ! 255) // цикл задерживает скрипт пока не появится заданный цвет
   WAITMS (100)
   GETSCREEN
END_CYC


немного подправил
« Last Edit: November 15, 2015, 07:09:08 PM by dramster »

Pleich

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Re: Не выполняется условие цикла
« Reply #2 on: November 15, 2015, 07:11:22 PM »
Где тут спасибо сказать ? :) :)