Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: Doberman on October 23, 2017, 01:47:53 PM

Title: Цикл for на втором проходе останавливается
Post by: Doberman on October 23, 2017, 01:47:53 PM
Кто разбирается посмотрите пожалуйста где ошибка или может глюк.
Code: (clickermann) [Select]
FOR($a=0,$a<2)
WAITMS(50)
KEYPRESS(93)
WAIT(1)
KEYPRESS(#up)
WAIT(1)
KEYPRESS(#enter) \\ На втором проходе здесь останавливается, издает звук, работа прекращена.
WAIT(1)
WHILE($ch = 0)
WAIT(1)
GETSCREEN
WAITMS(600)
IF_PICTURE_IN (70,250, 141,288, "shot0002.bmp")
      print("Äîñò-Â X=", $_return1, ", Y=", $_return2)
$ch = 1
Else
   HINTPOPUP("Äîñò- нет")
WAITMS(40)
END_IF
END_CYC
KEYDOWN(#ctrl)
WAITMS(50)
KEYDOWN(#tab)
WAITMS(50)
KEYup(#tab)
WAITMS(50)
KEYup(#ctrl)
WAITMS(50)
WHILE($checs = 0)
WAITMS(400)
GETSCREEN
WAITMS(10)
IF_PICTURE_IN (25,143, 308,438, "shot0001.bmp")
      print("Ãàëê-Â X=", $_return1, ", Y=", $_return2)
$checs = 1
Else
   HINTPOPUP("Ãàëê- нет")
 WAITMS(400) 
END_IF
END_CYC
WAITMS(400)
LCLICK(105,347)
WAITMS(600)
KEYPRESS(#enter)
WHILE($checss = 0)
WAITMS(50)
GETSCREEN(178,477, 178,477)
WAITMS(50)
IF_PIXEL_IN(178,477, 178,477, 16777215)
      print("Áåëûé-â X=", $_return1, ", Y=", $_return2)
$checss = 1
Else
   HINTPOPUP("Áåëûé- нет")
   WAITMS(400)
   END_IF
END_CYC
WAITMS(500)
END_CYC
HALT
Title: Re: Цикл for на втором проходе останавливается
Post by: Vint on October 23, 2017, 04:03:40 PM
А почему ты уверен что там останавливается?

Я думаю, что ещё жмёт CTRL+TAB и
Code: (clickermann) [Select]
    LCLICK(105,347)
    WAITMS(600)
    KEYPRESS(#enter)

и останавливается штатно в конце, по HALT.

А все три цикла WHILE выключены после первого прохода. Ведь переменные не сброшены.
Title: Re: Цикл for на втором проходе останавливается
Post by: Doberman on October 23, 2017, 04:08:37 PM
Все работает, но без цикла.
Сначала пробывал как есть без цикла -результат такой-же... Долго редактировал... ни чего помогало... И наконец очередная идея разрешила ситуацию. А именно, поменял название переменных в WHILE которые на втором заходе участвуют.
Title: Re: Цикл for на втором проходе останавливается
Post by: Doberman on October 23, 2017, 04:11:26 PM
М да похоже на то, а как сбрасывать? Кажется так:
Code: [Select]
UNDEFINE($a) Спасибо
Title: Re: Цикл for на втором проходе останавливается
Post by: Vint on October 23, 2017, 05:29:14 PM
Какое $a? При чём здесь переменная $a
Не задаёшь начальные значения переменных участвующих в условиях циклов WHILE
Code: (clickermann) [Select]
FOR($a=0, $a < 2)
    $ch = 0
    $checs = 0
    $checss = 0
    WHILE($ch = 0)
        $ch = 1
    END_CYC
   
    WHILE($checs = 0)
        $checs = 1
    END_CYC
   
    WHILE($checss = 0)
        $checss = 1
    END_CYC
END_CYC
HALT