Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: mAramiXx on May 06, 2016, 06:03:14 PM
-
Прощу прощения, но у меня еще один не большой вопрос) Не могу разобраться как из txt записывать поочередно\рандомно строчки в поле ввода после клика на него(конец кода). Как это можно реализовать? Подскажите пожалуйста :-[
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "novoe.bmp", -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
goto(begin)
ELSE
WAITMS(50)
END_IF
END_CYC
begin:
wait(1)
LCLICK(802,385) // otvetit
wait(1)
LCLICK(579,609) // okno vvoda
wait(1)
$filename = "otvet.txt"
-
Нафига ж ты goto(begin) в цикл вставил? Мало того что выпрыгивать из цикла не рекомендуется, так этот прыжок не имеет смысла потому что выполнение и так туда пойдет! $check = 1 переменная изменилась, выполнение дойдет до конца цикла , начнет его за ново, условие не верно, цикл пропускается, выполнение идет после цикла. Вот так это работает.
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "novoe.bmp", -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
wait(1)
LCLICK(802,385) // otvetit
wait(1)
LCLICK(579,609) // okno vvoda
wait(1)
TOCLIP(RND(1,TFCOUNT("otvet.txt"))) // читаем рандомную строку из файла в буфер
WAITMS(50)
KEYDOWN (#CTRL) // вставляем
WAITMS (50)
KEYPRESS(#V)
KEYUP (#CTRL)
wait(1)
-
Нафига ж ты goto(begin) в цикл вставил? Мало того что выпрыгивать из цикла не рекомендуется, так этот прыжок не имеет смысла потому что выполнение и так туда пойдет! $check = 1 переменная изменилась, выполнение дойдет до конца цикла , начнет его за ново, условие не верно, цикл пропускается, выполнение идет после цикла. Вот так это работает.
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "novoe.bmp", -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
wait(1)
LCLICK(802,385) // otvetit
wait(1)
LCLICK(579,609) // okno vvoda
wait(1)
TOCLIP(RND(1,TFCOUNT("otvet.txt"))) // читаем рандомную строку из файла в буфер
WAITMS(50)
KEYDOWN (#CTRL) // вставляем
WAITMS (50)
KEYPRESS(#V)
KEYUP (#CTRL)
wait(1)
Оно выводит 0 или 1 :o
-
$random = rnd(0,700)
TOCLIP(TFREAD("otvet.txt", $random))
сработало вот так, только теперь кодировка полетела ;D
-
Да точно, функцию чтения я забыл написать.
Вот верный вариант
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "novoe.bmp", -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
wait(1)
LCLICK(802,385) // otvetit
wait(1)
LCLICK(579,609) // okno vvoda
wait(1)
TOCLIP(TFREAD("otvet.txt", RND(1,TFCOUNT("otvet.txt")))) // читаем рандомную строку из файла в буфер
WAITMS(50)
KEYDOWN (#CTRL) // вставляем
WAITMS (50)
KEYPRESS(#V)
KEYUP (#CTRL)
wait(1)
На счет кодировок.
Нужно изменить параметры в реестре и перезагрузить систему.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1250"="c_1251.nls"
"1251"="c_1251.nls"
"1252"="c_1251.nls"
Также кодировка не будет ломаться если раскладки кликера и целевого окна будут одинаковыми Ru
-
Работает! ::) спасибо)