Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: vitya_vii on March 13, 2019, 09:38:42 PM
-
Здравствуйте подскажите как поправить сценарий чтобы весь не переписывать
файл сценария прикрепил
в нашел программе добавили несколько новых строк отчетов и соответственно все съехало мне надо как-то поправить чтобы он выходил на правильную строку или убрать вообще из скрипта
-
вывел в начало скрипта 2 переменные $x $y, но так не делается...
-
можно как то отследить в редакторе или остановить при просмотре на каких он строках остановился чтобы вырезать
то есть я открыл редактор и нажал запуск и вот он дошел до того момента где начинает работать неправильно как мне найти эти строки?
и мне не много не понятно про эти переменные $x $y у меня в программе используется в основном клавиатура для работы
-
можно как то отследить в редакторе или остановить при просмотре на каких он строках остановился чтобы вырезать
Нет нельзя. Запись крайне сложно редактировать.
Вот написал скрипт форматирующий запись. Делает её чуть более удобочитаемой.
Требуется версия 4.13.014 32bit
$file = "отчеты_основные22.cms"
$movdel = 1 // удалять движения мыши MOVE (1 вкл / 0 выкл)
//=============================================
SUB(_key, $key)
IF(($str1 >= 48)&($str1 <= 57)|($str1 >= 65)&($str1 <= 90))
$str = STRCONCAT($key,"(#",CHAR($str1),")")
ELSE
SWITCH($str1)
CASE(8)
$str = STRCONCAT($key,"(#BACKSPACE)")
CASE(9)
$str = STRCONCAT($key,"(#TAB)")
CASE(13)
$str = STRCONCAT($key,"(#ENTER)")
CASE(16)
$str = STRCONCAT($key,"(#SHIFT)")
CASE(17)
$str = STRCONCAT($key,"(#CTRL)")
CASE(18)
$str = STRCONCAT($key,"(#ALT)")
CASE(19)
$str = STRCONCAT($key,"(#PAUSE)")
CASE(20)
$str = STRCONCAT($key,"(#CAPSLOCK)")
CASE(27)
$str = STRCONCAT($key,"(#ESC)")
CASE(32)
$str = STRCONCAT($key,"(#SPACE)")
CASE(33)
$str = STRCONCAT($key,"(#PAGEUP)")
CASE(34)
$str = STRCONCAT($key,"(#PAGEDOWN)")
CASE(35)
$str = STRCONCAT($key,"(#END)")
CASE(36)
$str = STRCONCAT($key,"(#HOME)")
CASE(37)
$str = STRCONCAT($key,"(#LEFT)")
CASE(38)
$str = STRCONCAT($key,"(#UP)")
CASE(39)
$str = STRCONCAT($key,"(#RIGHT)")
CASE(40)
$str = STRCONCAT($key,"(#DOWN)")
CASE(45)
$str = STRCONCAT($key,"(#INSERT)")
CASE(46)
$str = STRCONCAT($key,"(#DELETE)")
CASE(91)
$str = STRCONCAT($key,"(#WIN)")
CASE(92)
$str = STRCONCAT($key,"(#RWIN)")
CASE(96)
$str = STRCONCAT($key,"(",$str1,") // NumPad 0")
CASE(97)
$str = STRCONCAT($key,"(",$str1,") // NumPad 1")
CASE(98)
$str = STRCONCAT($key,"(",$str1,") // NumPad 2")
CASE(99)
$str = STRCONCAT($key,"(",$str1,") // NumPad 3")
CASE(100)
$str = STRCONCAT($key,"(",$str1,") // NumPad 4")
CASE(101)
$str = STRCONCAT($key,"(",$str1,") // NumPad 5")
CASE(102)
$str = STRCONCAT($key,"(",$str1,") // NumPad 6")
CASE(103)
$str = STRCONCAT($key,"(",$str1,") // NumPad 7")
CASE(104)
$str = STRCONCAT($key,"(",$str1,") // NumPad 8")
CASE(105)
$str = STRCONCAT($key,"(",$str1,") // NumPad 9")
CASE(106)
$str = STRCONCAT($key,"(",$str1,") // NumPad *")
CASE(107)
$str = STRCONCAT($key,"(",$str1,") // NumPad +")
CASE(109)
$str = STRCONCAT($key,"(",$str1,") // NumPad -")
CASE(110)
$str = STRCONCAT($key,"(",$str1,") // NumPad .")
CASE(111)
$str = STRCONCAT($key,"(",$str1,") // NumPad /")
CASE(112)
$str = STRCONCAT($key,"(#F1)")
CASE(113)
$str = STRCONCAT($key,"(#F2)")
CASE(114)
$str = STRCONCAT($key,"(#F3)")
CASE(115)
$str = STRCONCAT($key,"(#F4)")
CASE(116)
$str = STRCONCAT($key,"(#F5)")
CASE(117)
$str = STRCONCAT($key,"(#F6)")
CASE(118)
$str = STRCONCAT($key,"(#F7)")
CASE(119)
$str = STRCONCAT($key,"(#F8)")
CASE(120)
$str = STRCONCAT($key,"(#F9)")
CASE(121)
$str = STRCONCAT($key,"(#F10)")
CASE(122)
$str = STRCONCAT($key,"(#F11)")
CASE(123)
$str = STRCONCAT($key,"(#F12)")
CASE(144)
$str = STRCONCAT($key,"(#NUMLOCK)")
CASE(145)
$str = STRCONCAT($key,"(#SCROLLLOCK)")
CASE(44)
$str = STRCONCAT($key,"(",$str1,") // PRINTSCREEN")
CASE(186)
$str = STRCONCAT($key,"(",$str1,") // ;")
CASE(187)
$str = STRCONCAT($key,"(",$str1,") // =")
CASE(188)
$str = STRCONCAT($key,"(",$str1,") // ,")
CASE(189)
$str = STRCONCAT($key,"(",$str1,") // -")
CASE(190)
$str = STRCONCAT($key,"(",$str1,") // .")
CASE(191)
$str = STRCONCAT($key,"(",$str1,") // /")
CASE(192)
$str = STRCONCAT($key,"(",$str1,") // ~")
CASE(219)
$str = STRCONCAT($key,"(",$str1,") // [")
CASE(220)
$str = STRCONCAT($key,"(",$str1,") // \")
CASE(221)
$str = STRCONCAT($key,"(",$str1,") // ]")
CASE(222)
$str = STRCONCAT($key,"(",$str1,") // '")
DEFAULT
$str = STRCONCAT($key,"(",$str1,")")
END_SWITCH
END_IF
END_SUB
SUB(_key2,$key2)
IF(($str1 >= 48)&($str1 <= 57)|($str1 >= 65)&($str1 <= 90))
$str = STRCONCAT($key2,"(#",CHAR($str1),")")
ELSE
_key($key2)
END_IF
END_SUB
TFCLEAR(STRCONCAT($file, "_format.cms"), 0)
TFREADARR($file, $arr_str)
$count = ARRSIZE($arr_str)
IF($movdel = 1)
$stage = 0
FOR($i=0,$i<$count)
IF(STRPOS($arr_str[$i],"move") = 0)
ARRPUSH($arr_str_temp, $arr_str[$i])
END_IF
END_CYC
TFWRITEARR("_temp_file.txt", $arr_str_temp)
UNDEFINE($arr_str)
TFREADARR("_temp_file.txt", $arr_str)
$count = ARRSIZE($arr_str)
TFCLEAR("_temp_file.txt", 1)
END_IF
$stage = 1
FOR($i=0,$i<$count)
$str = $arr_str[$i]
IF(STRPOS($str,"keyUp") > 0)
$str1 = STRCUT2($str, STRPOS($str,"(")+1, STRPOS($str,")")-1)
SWITCH($str1)
CASE(160)
$str = -1
CASE(164)
$str = -1
CASE(162)
$str = -1
DEFAULT
_key("KEYUP")
END_SWITCH
ELSE
IF(STRPOS($str,"waitms(0") > 0)
$str = -1
ELSE
IF(STRPOS($str,"lDown") > 0)
$str2 = STRCUT2($str, STRPOS($str,"(")+1, STRPOS($str,")")-1)
IF($i+2 <= $count)
$str3 = $arr_str[$i+2]
$str3 = STRCUT2($str3, STRPOS($str3,"(")+1, STRPOS($str3,")")-1)
IF($str2 = $str3)
$str = STRCONCAT("LCLICK(",$str2,")")
INC($i,2)
END_IF
END_IF
ELSE
IF(STRPOS($str,"rDown") > 0)
$str2 = STRCUT2($str, STRPOS($str,"(")+1, STRPOS($str,")")-1)
IF($i+2 <= $count)
$str3 = $arr_str[$i+2]
$str3 = STRCUT2($str3, STRPOS($str3,"(")+1, STRPOS($str3,")")-1)
IF($str2 = $str3)
$str = STRCONCAT("RCLICK(",$str2,")")
INC($i,2)
END_IF
END_IF
ELSE
IF(STRPOS($str,"keyDown") > 0)
$str1 = STRCUT2($str, STRPOS($str,"(")+1, STRPOS($str,")")-1)
SWITCH($str1)
CASE(160)
$str = -1
CASE(164)
$str = -1
CASE(162)
$str = -1
DEFAULT
$str2 = STRCUT2($str, STRPOS($str,"("), STRPOS($str,")"))
IF($i+2 <= $count)
$str3 = $arr_str[$i+2]
IF(STRPOS($str3,"keyUp") > 0)
$str3 = STRCUT2($str3, STRPOS($str3,"("), STRPOS($str3,")"))
IF($str2 = $str3)
_key2("KEYPRESS")
INC($i,2)
ELSE
_key2("KEYDOWN")
END_IF
ELSE
_key2("KEYDOWN")
END_IF
ELSE
_key2("KEYDOWN")
END_IF
END_SWITCH
END_IF
END_IF
END_IF
END_IF
END_IF
IF(STRMD5($str) ! STRMD5(-1))
ARRPUSH($arr_str2, $str)
END_IF
END_CYC
$stage = 2
$n = 0
$c = 0
$count = ARRSIZE($arr_str2)
FOR($i=0,$i<$count)
IF(STRPOS($arr_str2[$i],"waitms") > 0)
$n2 = $n
IF(STRPOS($arr_str2[$i]," + ") > 0)
$n = INT(STRCUT2($arr_str2[$i], STRPOS($arr_str2[$i],"(")+1, STRPOS($arr_str2[$i]," ")-1))+$n2
ELSE
$n = INT(STRCUT2($arr_str2[$i], STRPOS($arr_str2[$i],"(")+1, STRPOS($arr_str2[$i],")")-1))+$n2
END_IF
$arr_str3[$c] = STRCONCAT("WAITMS(",$n,")")
ELSE
IF($n ! 0)
INC($c,1)
$n = 0
END_IF
$arr_str3[$c] = $arr_str2[$i]
INC($c,1)
END_IF
END_CYC
TFWRITEARR(STRCONCAT($file, "_format.cms"), $arr_str3)
THREAD(t1, 1)
WAIT(1)
SWITCH($stage)
CASE(0)
LOGCLEAR
LOGWRITE ("Чищу MOVE: ",ROUND(($i*100)/$count,-1),"%")
CASE(1)
LOGCLEAR
LOGWRITE ("Форматирую: ",ROUND(($i*100)/$count,-1),"%")
CASE(2)
LOGCLEAR
LOGWRITE ("Чищу задержки: ",ROUND(($i*100)/$count,-1),"%")
END_SWITCH
END_THREAD
WAIT(1)
HALT
-
спасибо большое
еще вопрос эта сточка $movdel = 1 // удалять движения мыши MOVE (1 вкл / 0 выкл)
удаляет все движения мышки ото у меня там есть открыть файл экселя и копировать даты и вставлять в программу
если стоит 1 то удалит если поставлю 0 то все останется ?
-
не обязательно указывать команды MOVE перемещающие курсор в определенную точку. Сам клик в координаты приведет к перемещению курсора. В настройках кликера можно выключить запись движения мыши, это сильно сократит запись.
Правда в некоторых отдельных случаях требуется предварительное наведение, например для появления всплывающего меню. Тогда движения нужно оставить.
Можешь указать 0, тогда движения не будут удалены из скрипта.
-
спасибо буду пробывать
-
не срабатывает комбинация клавиш на открытие в программе нового окна
WAITMS(2057)
KEYDOWN(#ALT)
WAITMS(431)
KEYDOWN(#A)
WAITMS(113)
KEYUP(#ALT)
WAITMS(98)
KEYUP(#A)
WAITMS(3108)
KEYPRESS(#ENTER)
мне надо его переделать на новое?
KEYDOWN(#ALT)
WAITMS(709)
KEYPRESS(189) // A