Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: SimplY on September 30, 2020, 06:30:03 AM
-
Добрый день!!! Прошу помощи!
Кликер кликает на картинку 3 раза и выделяется текст, который принадлежит этой картинке. Мне нужно его скопировать и отправить например, в переменную $a1. Затем кликер видит следующую картинку. Там аналогично клик 3 раза по картинке и выделяется второй текст. Его отправить в $a2. Соответственно текст из третьей картинки в $a3 и так далее. Там цикл и я не знаю, как это сделать..
GETSCREEN(362,158,506,733)
SCANPICTURE($ARR_SCAN, 362,158,506,733, "хк.bmp", -1, 70)
$ARR_NUM = 0
WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
$X = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
$Y = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
FOR($a=0,$a<3)
LCLICK($X+30, $Y+6)
WAITMS(20)
END_CYC
WAITMS(100)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#C)
KEYUP (#CTRL)
WAITMS(10)
END_CYC
UNDEFINE($ARR_SCAN)
WAITMS(150)
TOCLIP(STRREPLACE($ST, EOL, ""))
ELSE
LOGWRITE ("Не найдено!")
WAITMS(5)
END_IF
Заранее огромнейшее спасибо!!!
-
Привет!
Присваивать значения можно только существующим переменным. А в данном случае, даже не известно сколько их всего будет. Но нам не нужно их создавать. Будем добавлять скопированный текст в массив. Вместо $a1, $a2, $a3,... будет $ARR_TEXT[0], $ARR_TEXT[1], $ARR_TEXT[2] и так далее. Первая ячейка в массиве имеет индекс 0, а не единицу.
Скрипт я немного переделал. Разберешься короче.))
GETSCREEN(362,158,506,733)
SCANPICTURE($ARR_SCAN, 362,158,506,733, "хк.bmp", -1, 70)
FOR($ARR_NUM = 0, $ARR_NUM < ARRSIZE($ARR_SCAN))
$X = $ARR_SCAN [$ARR_NUM]
$Y = $ARR_SCAN [$ARR_NUM + 1]
FOR($a=0,$a<3)
LCLICK($X+30, $Y+6)
WAITMS(20)
END_CYC
WAITMS(100)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#C)
KEYUP (#CTRL)
WAITMS(10)
ARRPUSH($ARR_TEXT, FROMCLIP()) // добавляем скопированный текст в массив
END_CYC
UNDEFINE($ARR_SCAN)
//=============================================
IF(ARRSIZE($ARR_TEXT)) // если массив с найденным текстом не пустой
FOR($i = 0, < ARRSIZE($ARR_TEXT)) // выводим найденный текст в лог
LOGWRITE ($ARR_TEXT[$i])
END_CYC
ELSE
LOGWRITE ("Не найдено!")
END_IF
UNDEFINE($ARR_TEXT)