Существует по крайней мере 3 способа зациклить сценарий в Кликермане.
Например, есть следующий сценарий, который нужно повторить 30 раз.
WAIT(2) LCLICK(3074,962) // запускает программу WAIT(2) LCLICK(2384,397) // выбирает нужную закладку WAIT(2) LCLICK(2710,763) // выбор дополнительной функции в программе, потом пауза в 10 сек. WAIT(10)
1. Цикл FOR – выполняется определенное количество раз
DEFINE($i,0) //  вводим переменную  для подсчета циклов FOR ($i, $i<30) // все, что между FOR и END_CYC, будет повторяться 30 раз DBLCLICK(2456,417) WAIT(2) LCLICK(2518,459) WAIT(2) LCLICK(2565,616) WAIT(2) LCLICK(2933,723) WAIT(2) END_CYC
2. Цикл WHILE – выполняется, пока выполняется условие
Этот цикл выполняется пока верно условие.
Например есть такая задача: искать красный пиксел на экране. После нахождения цикл должен прекратиться, а скрипт продолжит работу дальше.
$var = 1 while($var = 1) GETSCREEN IF_PIXEL_IN (10,20, 100, 40, 255) // если нужный пиксел найден $var = 0 // меняем значение переменной, чтобы при следующей проверке цикл прекратился Else WAITMS (100) END_IF end_cyc
Вместо IF_PIXEL_IN можно использовать функции PXL или IF_PICTURE_IN.
3. С помощью метки
Здесь используется искусственный прием создания цикла через метку.
Зациклим тот же код, что использовали в первом примере. Сделаем так:
DEFINE($aaa,0) // вводим переменную для подсчета циклов start: DBLCLICK(2456,417) WAIT(2) LCLICK(2518,459) WAIT(2) LCLICK(2565,616) WAIT(2) LCLICK(2933,723) INC ($aaa, 1) // увеличиваем переменную на 1 IF($aaa = 30) // если переменная стала равна 30, останавливаем выполнение скрипта HALT END_IF GOTO (start) // если счет циклов не равен 30, возвращаемся к start:
Комментарии: