Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Loginow on May 09, 2017, 01:49:59 PM
-
:)
-
Строка 257 закомментированный заголовок подпрограммы
//SUB(pastenter, $_hh)
Строка 846 END_SUB без подпрограммы
-
Спасибо, так точно))
-
Собственно вопрос. Скрипт рабочий, все задержки проставлены. Вынося за рамки "суб" все работает на 5+, но в фул скрипте одно и тоже условие раз срабатывает а раз нет. От чего это зависит?
-
От ошибок писателя в основном.
Ещё от секретности. Рассуждения над гипотетическим кодом ни к чему не приведут.
-
Снимаю гриф секретности. Ошибки скорее всего, заметил что программа после обработки 150-200К элементов(товары, цены, картинки и т.п.) начинает тормозить, может чуток поблекнуть окно. Возможно ли что К-Ман идет дальше? Как можно стабилизировать работу программ на пк?
EXECUTE("h.bat - Ярлык")
WAIT(3)
$hwnd1 = wndfind("h")
WAIT(0,5)
//
SUB(start)
WAIT(3)
HSET($hwnd1,1)
LCLICK(500,283)
WAIT(2)
KEYPRESS(#SPACE)
WAIT(0,5)
LCLICK(500,283)
WAIT(0,5)
END_SUB
SUB(start1)
KEYPRESS(#TAB)
KEYPRESS(#SPACE)
WAIT(0,5)
LCLICK(500,283)
WAIT(0,5)
LCLICK(840,30)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN(6,406, 1007,444, "appp.bmp")
$check = 1
WAIT(0,5)
LCLICK(516,460)
Else
WAITMS(100)
END_IF
END_CYC
WAIT(0,5)
LCLICK(520,32)
WAIT(2)
GETSCREEN // прохождение (по любому пикселю)
$hash1 = PXLCRC(50,91, 135,363)
$hash2 = $hash1
WHILE($hash1 = $hash2)
WAIT(0,5)
GETSCREEN
$hash2 = PXLCRC(50,91, 135,363)
END_CYC
LCLICK(126,208)
WAIT(0,5)
HSET(0,0) // отвязка
WAITMS(100)
KEYDOWN(#CTRL) // выделение найденных промо
WAIT(0,5)
KEYPRESS(#A)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
KEYDOWN(#CTRL) // копирование промо
WAIT(0,5)
KEYPRESS(#C)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
LCLICK(387,281)
END_SUB
SUB(start2)
KEYPRESS(#TAB)
KEYPRESS(#SPACE)
WAIT(0,5)
HSET($hwnd1,1)
WAIT(0,5)
LCLICK(500,283)
WAIT(0,5)
LCLICK(840,30)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN(6,406, 1007,444, "appp.bmp")
$check = 1
WAIT(0,5)
LCLICK(516,460)
Else
WAITMS(100)
END_IF
END_CYC // переход к прокси
WAIT(0,5)
LCLICK(161,206)
WAIT(0,5)
HSET(0,0)
WAIT(0,5)
KEYDOWN(#CTRL) // выделение найденных промо
WAIT(0,5)
KEYPRESS(#A)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
KEYDOWN(#CTRL) // копирование промо
WAIT(0,5)
KEYPRESS(#C)
WAIT(0,5)
KEYUP(#CTRL)
END_SUB
//Проверка тескста (промо)
SUB(checkp)
EXECUTE("strok.txt") // проверка колва промо
WAIT(5)
$hwnd2 = wndfind("strok.txt — Блокнот") // привязка
WAIT(0,5)
WNDBUMP($hwnd2) // поверх всех окон (передний план)
WAIT(0,5)
HSET($hwnd2,1)
WAIT(0,5)
LCLICK(360,140)
WAIT(0,5)
HSET(0,0) // отвязка
KEYDOWN(#WIN) // на весь екран
WAIT(0,5)
KEYPRESS(#UP)
WAIT(0,5)
KEYUP(#WIN)
WAIT(0,5)
KEYDOWN(#CTRL) // выделение
WAIT(0,5)
KEYPRESS(#A)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
KEYDOWN(#CTRL) // вставка
WAIT(0,5)
KEYPRESS(#V)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
KEYDOWN(#CTRL) // переход к колву строк
WAIT(0,5)
KEYPRESS(#G)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
KEYDOWN(#CTRL) // копирование значения
WAIT(0,5)
KEYPRESS(#C)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
KEYPRESS(#ESC)
WAIT(0,5)
LCLICK(22,30)
WAIT(0,5)
LCLICK(70,101)
WAIT(0,5)
HSET($hwnd2,1)
WAIT(0,5)
SENDMESSAGE($hwnd2,0x0010,0,0)
HSET(0,0)
END_SUB
//Добавление новых промо//
SUB(addnew)
WAIT(0,5)
EXECUTE("CDII") // открываю бат
WAIT(5)
$hwnd3 = wndfind("CDII")
WAIT(0,5)
HSET(0,0)
WNDBUMP($hwnd3)
WAIT(0,5)
LCLICK(21,28)
WAIT(0,5)
LCLICK(21,48)
WAIT(1,5)
DBLCLICK(203,183)
WAIT(0,5)
KEYPRESS(#F5)
WAIT(5)
KEYDOWN(#CTRL)
WAIT(0,5)
KEYPRESS(#A)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
KEYDOWN(#CTRL)
WAIT(0,5)
KEYPRESS(#C)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
$prx = TOCLIP()
HSET($hwnd3,1)
WAIT(0,5)
SENDMESSAGE($hwnd3,0x0010,0,0)
WAIT(0,5)
HSET($hwnd1,1)
WAIT(0,5)
WNDBUMP($hwnd1)
WAIT(0,5)
LCLICK(408,167) // 16777215
WAIT(0,5)
HSET(0,0)
WAIT(0,5)
KEYDOWN(#CTRL) // выделение
WAIT(0,5)
KEYPRESS(#A)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
KEYDOWN(#CTRL) // вставка
WAIT(0,5)
KEYPRESS(#v)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
HSET($hwnd1,1)
LCLICK(700,30)
WAIT(2)
GETSCREEN // прохождение промо (по любому пикселю)
$hash1 = PXLCRC(150,88, 400,363)
$hash2 = $hash1
WHILE($hash1 = $hash2)
WAIT(0,5)
GETSCREEN
$hash2 = PXLCRC(150,88, 400,363)
END_CYC
WAIT(0,5)
LCLICK(519,461)
HSET(0,0)
END_SUB
// ПРОВЕРКА 1000 или меньше
SUB(promooo)
$pp = FROMCLIP ()
IF($pp < 1000)
addnew()
ELSE
WAIT(0,5)
HSET($hwnd1,1)
WAIT(0,5)
WNDBUMP($hwnd1)
WAIT(0,5)
LCLICK(521,459)
WAIT(0,5)
END_IF
END_SUB
SUB(pastenter, $_hh)
WAIT(0,5)
TOCLIP($_hh)
WAIT(0,5)
KEYPRESS (#ENTER)
WAITMS (50)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAIT(0,5)
KEYPRESS(#ENTER)
WAIT(0,5)
END_SUB
SUB(putinprice)
WAIT(2)
HSET($hwnd1,1)
LCLICK(367,29)
WAIT(0,5)
HSET(0,0)
KEYDOWN(#CTRL)
WAIT(0,5)
KEYPRESS(#A)
KEYUP(#CTRL)
WAIT(0,5)
TOCLIP(500)
WAIT(0,5)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (50)
KEYPRESS(#TAB)
WAIT(0,5)
TOCLIP(50)
WAIT(0,5)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (50)
KEYPRESS(#TAB)
WAIT(0,5)
KEYPRESS(#SPACE)
HSET($hwnd1,1)
WAIT(0,5)
LCLICK(524,461)
HSET(0,0)
END_SUB
SUB(totscu)
WAIT(2)
HSET($hwnd1,1)
LCLICK(135,107)
WAIT(0,5)
HSET(0,0)
KEYDOWN(#CTRL)
WAIT(0,5)
KEYPRESS(#A)
KEYUP(#CTRL)
WAIT(0,5)
TOCLIP(2016)
WAIT(0,5)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (50)
KEYPRESS(#TAB)
WAIT(0,5)
TOCLIP(2017)
WAIT(0,5)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (50)
KEYPRESS(#TAB)
WAIT(0,5)
TOCLIP(5)
WAIT(0,5)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (50)
KEYPRESS(#TAB)
WAITMS (50)
KEYPRESS(#TAB)
WAIT(0,5)
TOCLIP(1)
WAIT(0,5)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (50)
HSET($hwnd1,1)
LCLICK(428,400)
WAITMS (50)
HSET(0,0)
KEYDOWN(#SHIFT)
WAITMS (50)
KEYPRESS(#TAB)
WAITMS (50)
KEYPRESS(#TAB)
WAITMS (50)
KEYPRESS(#TAB)
WAITMS (50)
KEYPRESS(#TAB)
WAITMS (50)
KEYUP(#SHIFT)
WAIT(0,5)
KEYPRESS(#SPACE)
WAIT(0,5)
HSET($hwnd1,1)
WAIT(0,5)
LCLICK(692,106)
WAIT(0,5)
HSET(0,0)
KEYDOWN(#CTRL)
WAIT(0,5)
KEYPRESS(#A)
KEYUP(#CTRL)
WAIT(0,5)
pastenter("$1")
WAITMS (50)
pastenter("$2")
WAITMS (50)
pastenter("$3")
WAITMS (50)
pastenter("$4")
WAITMS (50)
pastenter("$5")
WAITMS (50)
pastenter("$6")
WAITMS (50)
pastenter("$7")
WAITMS (50)
pastenter("$8")
WAITMS (50)
pastenter("$9")
WAITMS (50)
pastenter("$10")
WAITMS (50)
HSET($hwnd1,1)
WAIT(0,5)
HSET(0,0)
END_SUB
SUB(hii, $_price)
HSET($HWND1,1)
WAIT(2)
LCLICK(135,30)
WAIT(0,5)
LCLICK(154,136)
WAIT(0,5)
HSET(0,0)
WAIT(0,5)
KEYDOWN(#CTRL)
WAIT(0,5)
KEYDOWN(#A)
WAIT(0,5)
KEYUP(#A)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
TOCLIP(1)
WAIT(0,5)
KEYDOWN(#CTRL)
WAIT(0,5)
KEYPRESS(#V)
WAIT(0,5)
KEYUP(#V)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
KEYPRESS(#TAB)
WAIT(0,5)
KEYDOWN(#CTRL)
WAIT(0,5)
KEYDOWN(#A)
WAIT(0,5)
KEYUP(#A)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
TOCLIP(900)
WAIT(0,5)
KEYDOWN(#CTRL)
WAIT(0,5)
KEYPRESS(#V)
WAIT(0,5)
KEYUP(#V)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
HSET($hwnd1,1)
WAIT(0,5)
LCLICK(472,135)
WAIT(0,5)
HSET(0,0)
WAIT(0,5)
KEYDOWN(#CTRL)
WAIT(0,5)
KEYDOWN(#A)
WAIT(0,5)
KEYUP(#A)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
TOCLIP(10)
WAIT(0,5)
KEYDOWN(#CTRL)
WAIT(0,5)
KEYPRESS(#V)
WAIT(0,5)
KEYUP(#V)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
KEYPRESS(#TAB)
WAIT(0,5)
KEYPRESS(#TAB)
WAIT(0,5)
KEYPRESS(#TAB)
WAIT(0,5)
KEYPRESS(#SPACE)
WAIT(0,5)
HSET($hwnd1,1)
WAIT(0,5)
LCLICK(234,29)
WAIT(0,5)
LCLICK(163,330)
WAIT(0,5)
KEYPRESS(#TAB)
WAIT(0,5)
KEYPRESS(#SPACE)
WAIT(0,5)
KEYPRESS(#TAB)
WAIT(0,5)
KEYPRESS(#SPACE)
WAIT(0,5)
LCLICK(275,30)
WAIT(0,5)
LCLICK(169,107)
WAIT(0,5)
HSET(0,0)
KEYDOWN(#CTRL)
WAIT(0,5)
KEYDOWN(#A)
WAIT(0,5)
KEYUP(#A)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
TOCLIP(1)
WAIT(0,5)
KEYDOWN(#CTRL)
WAIT(0,5)
KEYPRESS(#V)
WAIT(0,5)
KEYUP(#V)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
HSET($hwnd1,1)
WAIT(0,5)
LCLICK(158,147)
WAIT(0,5)
HSET(0,0)
WAIT(0,5)
KEYDOWN(#CTRL)
WAIT(0,5)
KEYDOWN(#A)
WAIT(0,5)
KEYUP(#A)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
TOCLIP($_price)
WAIT(0,5)
KEYDOWN(#CTRL)
WAIT(0,5)
KEYPRESS(#V)
WAIT(0,5)
KEYUP(#V)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
HSET($hwnd1,1)
WAITMS(10)
LCLICK(514,458)
WAIT(0,5)
HSET(0,0)
END_SUB
// Вот тут начинаются проблемы. Не всегда срабатывает.
SUB(sct)
WAIT(2)
EXECUTE("s1.bat")
WAIT(2)
$s1bat = TOCLIP()
WAIT(0,5)
WNDBUMP($hwnd1)
WAIT(0,5)
HSET($hwnd1,1)
WAIT(0,05)
LCLICK(62,161)
WAIT(0,05)
HSET(0,0)
WAIT(0,5)
KEYDOWN(#CTRL)
WAIT(0,5)
KEYPRESS(#V)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
HSET($hwnd1,1)
WAIT(0,5)
END_SUB
/// добавление списка новых позиций от $1
SUB(s1to5)
WAIT(2)
EXECUTE("s2.bat")
WAIT(0,5)
LCLICK(21,95) // 16053492
WAIT(0,5)
KEYPRESS(#ENTER)
WAIT(0,5)
LCLICK(21,95) // 16053492
WAIT(0,5)
HSET(0,0)
WAIT(0,5)
KEYDOWN(#CTRL) // вставка
WAIT(0,5)
KEYPRESS(#v)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
HSET($hwnd1,1)
WAIT(0,5)
LCLICK(502,401) // 16777215
WAIT(0,5)
LCLICK(521,459)
WAITMS(1)
HSET(0,0)
END_SUB
// ожидание окончания скана
SUB(waitfin)
HSET($hwnd1,1)
$check = 0 // по картинке
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN(429,184, 838,322, "next.bmp") // перех к списку
$check = 1
WAIT(0,5)
LCLICK(504,261) // 13487565
Else
WAITMS(100)
END_IF
END_CYC
END_SUB
/// тут тоже не всегда срабатывает
// добавление в брендлист
SUB(addtobl)
WAIT(0,5)
HSET($hwnd1,1)
WAIT(0,5)
WNDBUMP($hwnd1)
WAIT(0,5)
HSET(0,0)
WAIT(0,5)
KEYDOWN(#CTRL)
WAIT(0,5)
KEYDOWN(#A)
WAIT(0,5)
KEYUP(#A)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
KEYDOWN(#WIN)
WAIT(0,5)
KEYPRESS(#UP)
KEYUP(#WIN)
WAIT(10)
RCLICK(388,160)
WAIT(0,5)
KEYPRESS(#DOWN)
WAIT(0,5)
KEYPRESS(#RIGHT)
WAIT(0,5)
LCLICK(540,476)
WAIT(0,5)
KEYDOWN(#WIN)
WAIT(0,5)
KEYPRESS(#DOWN)
KEYUP(#WIN)
WAIT(0,5)
END_SUB
SUB(cNBL)
EXECUTE("cNBL.bat")
WAIT(0,5)
EXECUTE("brlist.txt") // проверка колва товаров
WAIT(5)
$hwndx = wndfind("brlist.txt — Блокнот") // привязка
WAIT(0,5)
WNDBUMP($hwndx) // поверх всех окон (передний план)
WAIT(0,5)
HSET($hwnd7,1)
WAIT(0,5)
LCLICK(360,140)
WAIT(0,5)
HSET(0,0) // отвязка
KEYDOWN(#WIN) // на весь екран
WAIT(0,5)
KEYPRESS(#UP)
WAIT(0,5)
KEYUP(#WIN)
WAIT(0,5)
KEYDOWN(#CTRL)
WAIT(0,5)
KEYPRESS(#A)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
KEYDOWN(#CTRL)
WAIT(0,5)
KEYPRESS(#V)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
KEYDOWN(#CTRL) // копирование значения
WAIT(0,5)
KEYPRESS(#S)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
HSET($hwndx,1)
WAIT(0,5)
SENDMESSAGE($hwndx,0x0010,0,0)
HSET(0,0)
WAIT(0,5)
EXECUTE("dBL.bat")
WAIT(0,5)
END_SUB
// добавление первой части (1скрипт)
SUB(skryp, $_txt_)
TFREADARR("brlist.txt", $arr) // читаем файл в массив
FOR($a=0,$a<ARRSIZE($arr)) // обрабатываем
$arr[$a] = STRCONCAT("$$1-100", $arr[$a])
END_CYC
TFWRITEARR($_txt_, $arr) // записываем массив в новый файл
END_SUB
SUB(bkS)
WNDBUMP($hwnd1)
WAIT(0,5)
HSET(0,0)
WAIT(0,5)
KEYDOWN(#WIN)
WAIT(0,5)
KEYPRESS(#UP)
KEYUP(#WIN)
WAIT(0,5)
HSET($hwnd1,1) // 16777215
RCLICK(438,259) // 16777215
WAIT(0,5)
KEYPRESS(#DOWN) // 16382457
WAIT(0,5)
KEYPRESS(#DOWN)
WAIT(0,5)
KEYPRESS(#DOWN)
WAIT(0,5)
KEYPRESS(#RIGHT)
WAIT(0,5)
KEYPRESS(#DOWN)
WAIT(0,5)
KEYPRESS(#ENTER) // 16777215
WAIT(0,5)
LCLICK(25,682) // 16053492
WAIT(0,5)
HSET(0,0)
WAIT(0,5)
KEYDOWN(#WIN)
WAIT(0,5)
KEYPRESS(#DOWN)
KEYUP(#WIN)
WAIT(0,5)
END_SUB
SUB(o500)
EXECUTE("s499.bat")
WAIT(0,5)
EXECUTE("500.txt") // проверка колва топ
WAIT(5)
$hwnd7 = wndfind("500.txt — Блокнот") // привязка
WAIT(0,5)
WNDBUMP($hwnd7) // поверх всех окон (передний план)
WAIT(0,5)
HSET($hwnd7,1)
WAIT(0,5)
LCLICK(360,140)
WAIT(0,5)
HSET(0,0) // отвязка
KEYDOWN(#WIN) // на весь екран
WAIT(0,5)
KEYPRESS(#UP)
WAIT(0,5)
KEYUP(#WIN)
WAIT(0,5)
KEYDOWN(#CTRL) // вставка
WAIT(0,5)
KEYPRESS(#V)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
KEYDOWN(#CTRL) // переход к колву строк
WAIT(0,5)
KEYPRESS(#G)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
KEYDOWN(#CTRL)
WAIT(0,5)
KEYPRESS(#A)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
TOCLIP(9999)
WAIT(0,5)
KEYDOWN(#CTRL)
WAIT(0,5)
KEYPRESS(#V)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
KEYPRESS(#ENTER)
WAIT(0,5)
KEYPRESS(#ESC)
WAIT(0,5)
KEYDOWN(#CTRL)
WAIT(0,5)
KEYDOWN(#CTRL) // копирование значения
WAIT(0,5)
KEYPRESS(#C)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
KEYPRESS(#ESC)
KEYDOWN(#CTRL) // копирование значения
WAIT(0,5)
KEYPRESS(#S)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
HSET($hwnd7,1)
WAIT(0,5)
SENDMESSAGE($hwnd7,0x0010,0,0)
WAIT(0,5)
HSET(0,0)
END_SUB
SUB(test410)
HSET(0,0)
WAIT(0,5)
$ftst = FROMCLIP()
IF($ftst < 1)
GOTO(WORK)
ELSE
WAIT(0,5)
LOGWRITE("DONE")
END_IF
END_SUB
HSET($hwnd1,1)
WAIT(0,5)
WNDBUMP($hwnd1)
WAIT(0,5)
start()
SUB(WORK)
WAIT(0,5)
start1()
WAIT(0,5)
checkp()
WAIT(0,5)
promooo()
WAIT(0,5)
putinprice()
WAIT(0,5)
totscu()
WAIT(0,5)
hii("100")
WAIT(0,5)
sct()
WAIT(0,5)
s1to5()
WAIT(0,5)
waitfin()
WAIT(0,5)
addtobl()
WAIT(0,5)
EXECUTE("dFriW.bat")
WAIT(0,5)
addtobl()
WAIT(0,5)
cNBL()
WAIT(0,5)
skryp("100.txt")
WAIT(0,5)
EXECUTE("rRi.bat")
WAIT(2)
bkS()
WAIT(0,5)
////////////////////////////////////////////
start2()
WAIT(0,5)
checkp()
WAIT(0,5)
promooo()
WAIT(0,5)
putinprice()
WAIT(0,5)
totscu()
WAIT(0,5)
hii("500")
WAIT(0,5)
s1to5()
WAIT(0,5)
waitfin()
WAIT(0,5)
addtobl()
EXECUTE("dFriR.bat")
WAIT(0,5)
addtobl()
WAIT(0,5)
cNBL()
WAIT(0,5)
skryp("499.txt")
WAIT(0,5)
o500()
WAIT(0,5)
EXECUTE("rWi.bat")
////////////////////////////////////////////
test410()
WAIT(0,5)
END_SUB
WORK()
HALT
-
Заметил еще один нюанс. Sub(addnew) ... KEYPRESS(#F5)
все работало, а теперь не реагирует. F5 не нажимается, в чем моя ошибка?
-
Да, помогло. Заострил внимание на процессе задержек. Увеличил их в данном месте и заиграло. Господи, этож сколько высчитывать вручную(
-
Сходу бросается в глаза ошибка
WAIT(0,5)
Правильно либо так
WAIT(0.5)
Либо так
WAITMS(500)
Запятыми в синтаксисе кликера отделяются команды! В данном случаи 5 после запятой будет игнорироваться, в результате у тебя 0 задержка.
-
Строка 882 переход GOTO(WORK) есть а метки WORK: чето не наблюдаю.
И напоминаю выпрыгивать из подпрограмм это путь к непредсказуемым глюкам.
-
Да, да. твои WAIT(0,5) это неработающие строки, т.е. большая часть задержек в скрипте не работает, = 0
Ещё разбирает любопытство, всё таки о каком условии шла речь. Где оно?
в фул скрипте одно и тоже условие раз срабатывает а раз нет. От чего это зависит?
-
Ещё какие-то нелогичные вещи. Зачем эта постоянная привязка в перемешку с WNDBUMP после каждого чиха. В чём смысл этих привязок?
Вот берём любую подпрограмму:
SUB(o500)
EXECUTE("s499.bat")
WAIT(0,5)
EXECUTE("500.txt") // проверка колва топ
WAIT(5)
$hwnd7 = wndfind("500.txt — Блокнот") // привязка
WAIT(0,5)
WNDBUMP($hwnd7) // поверх всех окон (передний план)
WAIT(0,5)
HSET($hwnd7,1)
WAIT(0,5)
LCLICK(360,140)
WAIT(0,5)
HSET(0,0) // отвязка
KEYDOWN(#WIN) // на весь екран
WAIT(0,5)
KEYPRESS(#UP)
WAIT(0,5)
KEYUP(#WIN)
WAIT(0,5)
KEYDOWN(#CTRL) // вставка
WAIT(0,5)
KEYPRESS(#V)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
KEYDOWN(#CTRL) // переход к колву строк
WAIT(0,5)
KEYPRESS(#G)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
KEYDOWN(#CTRL)
WAIT(0,5)
KEYPRESS(#A)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
TOCLIP(9999)
WAIT(0,5)
KEYDOWN(#CTRL)
WAIT(0,5)
KEYPRESS(#V)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
KEYPRESS(#ENTER)
WAIT(0,5)
KEYPRESS(#ESC)
WAIT(0,5)
KEYDOWN(#CTRL)
WAIT(0,5)
KEYDOWN(#CTRL) // копирование значения
WAIT(0,5)
KEYPRESS(#C)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
KEYPRESS(#ESC)
KEYDOWN(#CTRL) // копирование значения
WAIT(0,5)
KEYPRESS(#S)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
HSET($hwnd7,1)
WAIT(0,5)
SENDMESSAGE($hwnd7,0x0010,0,0)
WAIT(0,5)
HSET(0,0)
END_SUB
и что видим...
Открываем в блокноте файл "500.txt", пока почти нормально :)
$hwnd7 = wndfind("500.txt — Блокнот") // привязка
это не привязка, а поиск. Ну ладно, на скорость не влияет.
WNDBUMP($hwnd7) // поверх всех окон (передний план)
зачем? Окно и так открывается на переднем плане. Ну может конечно там на экране вакханалия открытых окон которые тут же перекрывают? Не верю.
Дальше: привязались, один раз кликнули по координатам, отвязались :o. В открытом окне. На переднем плане.
Это видать для того, чтобы ловить окно в любом месте экрана. Ну так получи его координаты и кликай без привязки.
И чтоб два раза не вставать. Ты ведь используешь подпрограммы, так почему куски вида
KEYDOWN(#WIN) // на весь екран
WAIT(0,5)
KEYPRESS(#UP)
WAIT(0,5)
KEYUP(#WIN)
WAIT(0,5)
и им подобные (выделить всё, копировать, втавить) рамножились по всему скрипту в неприличном количестве.
Делаем непонятные движения в виде выделить всё, заменить новым (не проще файл удалить и писать заново).
И в конце опять привязка, закрытие, отвязка. Хм. Почему не нажать Alt+F4.
И в версии, кажись до 4.12 был баг с утечкой памяти при привязке HSET. Проявляется если вызывать HSET тысячами в циклах.
Например, без проверок просто привязываемся, вдруг другой поток/подпрограмма отвязал.
Соответственно, через некоторое время начинаются тормоза.
У тебя там все тексты многострочные и поэтому все манипуляции через блокнот, а не напрямую?
Брюзжание окончено. ;D
-
Это видать для того, чтобы ловить окно в любом месте экрана. Ну так получи его координаты и кликай без привязки.
И сразу ответ на вопрос как это сделать
WNDGETINFO(WNDFIND("- Блокнот", 0), $poz1, $poz2, $siz1, $siz2) // получаем информацию, положение, размер
LCLICK($poz1+85,$poz2+87) // к координатам полученным в оконном режиме прибавляем положение окна
-
зачем? Окно и так открывается на переднем плане. Ну может конечно там на экране вакханалия открытых окон которые тут же перекрывают? Не верю.
У меня одновременно открыто 2-3 окна с которыми я работаю. Собственно для этого и нужно.
Дальше: привязались, один раз кликнули по координатам, отвязались :o. В открытом окне. На переднем плане.
Это видать для того, чтобы ловить окно в любом месте экрана. Ну так получи его координаты и кликай без привязки.
И сразу ответ на вопрос как это сделать
WNDGETINFO(WNDFIND("- Блокнот", 0), $poz1, $poz2, $siz1, $siz2) // получаем информацию, положение, размер
LCLICK($poz1+85,$poz2+87) // к координатам полученным в оконном режиме прибавляем положение окна
Спасибо
Да, чтоб ловить окно. Попытался - не получается у меня, тык в совсем другое место. И вопрос по циклах - переходит к следующему действию преждевременно.
EXECUTE("h.bat - Ярлык"")
WAITMS(50)
$hwnd1 = wndfind("h")
WAITMS(50)
WHILE(wndfind($hwnd1) = 0)
WAITMS(50)
END_CYC
WAITMS(50)
WNDGETINFO(WNDFIND("h", 0), $poz1, $poz2, $siz1, $siz2
WAITMS(50)
LCLICK($poz1+500,$poz2+283)
WAITMS(50)
HALT
Строка 882 переход GOTO(WORK) есть а метки WORK: чето не наблюдаю.
И напоминаю выпрыгивать из подпрограмм это путь к непредсказуемым глюкам.
а разве строка 964: WORK() ну или точнее 896 не отвечает на данный запрос?
И чтоб два раза не вставать. Ты ведь используешь подпрограммы, так почему куски вида
KEYDOWN(#WIN) // на весь екран
WAIT(0,5)
KEYPRESS(#UP)
WAIT(0,5)
KEYUP(#WIN)
WAIT(0,5)
и им подобные (выделить всё, копировать, втавить) рамножились по всему скрипту в неприличном количестве.
Если я правильно понимаю, то идея прописать вечные К+Ц К+В К+А как этакие мини подпрограммы к успеху шла?! Сделаю.
Делаем непонятные движения в виде выделить всё, заменить новым (не проще файл удалить и писать заново).
У тебя там все тексты многострочные и поэтому все манипуляции через блокнот, а не напрямую?
Почему я вообще запариваюсь таким - я перевожу в файл строки для подсчета их кол-ва, и последующего анализа. Те есть имеется энное колво, я откр файл, заменяю его, дальше Ctrl+G, вытягиваю значение, анализирую его и провожу последующие действия. Все ради кол-ва строк, если есть способ адекватнее подскажите, прошу.
И в конце опять привязка, закрытие, отвязка. Хм. Почему не нажать Alt+F4.
Вот как к примеру вчера, сегодня аналогичная ситуация. Тайминг проставлен, вопрос с (WAITMS(500)) решен, а F5 ( пробовал также заменять на другие F-ки) - не откликается. Я еще неделю назад об этом говорил. Найти корень проблемы не смог.
И в версии, кажись до 4.12 был баг с утечкой памяти при привязке HSET. Проявляется если вызывать HSET тысячами в циклах.
Например, без проверок просто привязываемся, вдруг другой поток/подпрограмма отвязал.
Соответственно, через некоторое время начинаются тормоза.
И вот тут кажись пришел час менять версию. У меня мигало какое-то обновление, но я не придал этому значения(
Качаю новую.
-
Строка 882 переход GOTO(WORK) есть а метки WORK: чето не наблюдаю.
И напоминаю выпрыгивать из подпрограмм это путь к непредсказуемым глюкам.
а разве строка 964: WORK() ну или точнее 896 не отвечает на данный запрос?
Даже рядом не стоят.
То GOTO по метке, метки нет.
А то подпрограмма, которые к тому же рекурсивно не вызываются (если надумаешь переделывать)
-
Ещё разбирает любопытство, всё таки о каком условии шла речь. Где оно?
когда идет второй круг Work()
////////////////////////////////////////////
...
WAIT(0,5)
s1to5()
WAIT(0,5)
Поправка (0,5) на (0.5) учтена
/// добавление списка новых позиций от $1
SUB(s1to5)
WAIT(2)
EXECUTE("s2.bat")
WAIT(0,5)
LCLICK(21,95) // 16053492
WAIT(0,5)
KEYPRESS(#ENTER)
WAIT(0,5)
LCLICK(21,95) // 16053492
WAIT(0,5)
HSET(0,0)
WAIT(0,5)
KEYDOWN(#CTRL) // вставка
WAIT(0,5)
KEYPRESS(#v)
WAIT(0,5)
KEYUP(#CTRL)
WAIT(0,5)
HSET($hwnd1,1)
WAIT(0,5)
LCLICK(502,401) // 16777215
WAIT(0,5)
LCLICK(521,459)
WAITMS(1)
HSET(0,0)
END_SUB
-
А где условие? В том куске что выложил нет ни одного условия.
Мы как на разных планетах :) ;D
Нужно так: не срабатывает условие в строке №nnn (или ...код). Должно это, а оно то.
-
Не правильно выразился. Саб раз срабатывает раз не срабатывает.
-
kiril, вот как раз и прописал логи, недооценил эту вещь изначально)
комы все заменены на точки.
такой вопрос. В первом кругу работы саба, у меня заносится значение в $2bat. При повторном когда через s2.bat копирую значение из тхт файла (значения новые), $s2bat не берет их из FROMCLIP(). То есть переменная уже изменятся не будет в ходе процесса и будет константой?
SUB(s1to5)
WAIT(2)
HSETN($hwnd1,1)
WAITMS(50)
EXECUTE("s2.bat")
WAIT(2)
$s2bat = FROMCLIP()
WAIT(0.5)
HSET(0,0)
WNDBUMP($hwnd1)
WAITMS(50)
pastenter($s2bat)
WAIT(1)
HSET($hwnd1,1)
WAIT(0.5)
LCLICK(502,401) // 16777215
WAIT(0.5)
LCLICK(521,459)
WAITMS(1)
HSET(0,0)
END_SUB
-
Ошибка
HSETN($hwnd1,1)
Вот и пиши в лог что там в буфере
LOGWRITE (FROMCLIP())
Что за код в "s2.bat" ?
-
Что за код в "s2.bat" ?
Обычное копирование
@echo off
clip < 100.txt