Автокликер Clickermann :: Форум
Основной раздел => Ошибки => Topic started by: Даниил on September 06, 2016, 12:07:48 PM
-
Пытаюсь создать эмулятор для создания выписки из банк-клиента.
Первый подобный опыт на кликермане и программирую оч. слабо
Для упрощения труда создал главный файл, с включениями разных процедур по порядку (явно излишняя затея, поскольку только 1 процедура будет использоваться повторно).
Но прикол в другом, Clickerman крашится без номера ошибки и закрывается.
А название программы в малом клиенте пытается замениться с all на Open and Login.
Конопку "применить" тоже не могу нажать - кликерман закрывается.
Подскажите, пожалуйста как этого избежать этого избежать и в чём дело?
// 06.09.2016
Print("DBO Start")
Goto(skip2)
#include "Open and Login.cms"
skip1:
#include "Pass-Gates.cms"
skip2:
#include "Main-page.cms"
skip3:
#include "Date-Pass.cms"
skip4:
#include "Export-run.cms"
skip5:
#include "Clear.cms"
skip6:
halt
#Name "All"
#name "Open and Login"
Print("Open and Login")
wait(3)
Define($check1, 99)
WHILE($check1 > 1)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "11.bmp", -1, 100)
dblCLICK($_return1, $_return2)
WAITMS(3000)
$check1 = 0
ELSE
WAITMS(500)
$check1 = $check1-1
print("wait 0.5")
END_IF
END_CYC
DEFINE($check1, 99)
WHILE($check1 > 0)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "login2.bmp", -1, 100)
LCLICK($_return1+45, $_return2+15)
print("start login")
WAITMS(6000)
$check1 = 0
ELSE
WAITMS(500)
Print("waite 0.5 login2.bmp")
$check1=$check1-1
END_IF
END_CYC
Print("Open and Login - Done")
-
А название программы в малом клиенте пытается замениться с all на Open and Login.
#name "Open and Login"
Print("Open and Login")
wait(3)
Define($check1, 99)
WHILE($check1 > 1)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "11.bmp", -1, 100)
dblCLICK($_return1, $_return2)
WAITMS(3000)
$check1 = 0
ELSE
WAITMS(500)
$check1 = $check1-1
print("wait 0.5")
END_IF
END_CYC
DEFINE($check1, 99)
WHILE($check1 > 0)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "login2.bmp", -1, 100)
LCLICK($_return1+45, $_return2+15)
print("start login")
WAITMS(6000)
$check1 = 0
ELSE
WAITMS(500)
Print("waite 0.5 login2.bmp")
$check1=$check1-1
END_IF
END_CYC
Print("Open and Login - Done")
вот эта строка по вашему мнению, для чего вами написана?
#name "Open and Login"
Понятия не имею. Я человек простой - прочитал описание функции - делаю. ;D
Просто при запуске all.cms с периодичностью примерно в 200мс название программы пытается замениться с одного, на другое.
-
Опять эти инклуды... Ну зачаем так себе жизнь усложнять ведь скрипт в одном файле проще воспринимать и редактировать.
Имя скрипта нужно писать только в основном скрипте.
Лучше использовать таймеры в циклах ожидания
Print("Open and Login")
wait(3)
$time = $_time_t + 60 // таймер на 60 секунд
WHILE($time > $_time_t)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "11.bmp", -1, 100)
$time = 0
dblCLICK($_return1, $_return2)
WAITMS(3000)
ELSE
WAITMS(50)
END_IF
END_CYC
$time = $_time_t + 60 // таймер на 60 секунд
WHILE($time > $_time_t)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "login2.bmp", -1, 100)
$time = 0
LCLICK($_return1+45, $_return2+15)
print("start login")
WAITMS(6000)
ELSE
WAITMS(50)
END_IF
END_CYC
Print("Open and Login - Done")
-
Огромное спасибо за науку =) Программа видимо билась об стену из-за строчек $check1=$check1-1
-
Огромное спасибо за науку =) Программа видимо билась об стену из-за строчек $check1=$check1-1
Ничего она не билась.
Закомментил GOTO и лишние инклюды. Прогнал. Всё нормально.
У тебя билась, скорее всего, из-за кривого кода в других инклюдах, которые ты не выложил.
Строка
$check1=$check1-1
Стандартная арифметическая операция, которых тысячи в коде. Она не лучше и не хуже другого написания