Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: SimplY on August 01, 2020, 09:42:31 PM
-
Разбирался, разбирался, разбирался и вроде начал понимать, что такое массивы и зачем они нужны.
На сайте 2гис есть несколько одинаковых картинок. Справа от каждой картинки в определенных координатах расположено слово. Если картинка найдена одна, то выделяется одно слово. Если найдено 4 картинки, то выделение идет после каждой картинки итого 4 слова. Но как это потом вставить?
Написал скрипт, но выдается ошибка в строках 25 и 26. Ну и не понятно, что делать, если не 3, а нужно вставить 40.
GETSCREEN(348,118,408,694)
SCANPICTURE($ARR_SCAN, 348,118,408,694, "сайт.bmp", -1, 80)
$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)
LDOWN(404, $Y+5) // Начало выделения текста
WAITMS(10)
LUP(600,$Y+5) //Конец выделения текста
WAITMS(500)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#C)
KEYUP (#CTRL)
WAITMS(10)
$ST [$ARR_NUM] = FROMCLIP() // Каждый текст копируем в отдельные элементы массива
END_CYC
UNDEFINE($ARR_SCAN)
WAITMS(150)
LCLICK(660,751) //В эксель
WAITMS(300)
#DEFINE EOL: CHAR(13), CHAR(10)
$b = STRCONCAT($ST [0], EOL, $ST [1], EOL, $ST [2]) // Сформировать все элементы массива после найденных картинок в столбик.
TOCLIP($b) // В буфер
WAITMS(10)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#V)
KEYUP (#CTRL)
HALT
-
Немного переделал скрипт. Массив, из содержимого буфера, там не нужен. Вместо массива теперь строка-столбик (образно). Строку можно склеить из куда большего количества элементов, чем 40.
Кстати респект автору директивы "EOL", удобная конструкция. Взята на вооружение. Спасибо! :)
Скрипт не проверял, не на чем.
GETSCREEN(348,118,408,694)
SCANPICTURE($ARR_SCAN, 348,118,408,694, "сайт.bmp", -1, 80)
$ARR_NUM = 0
#DEFINE EOL: CHAR(13), CHAR(10)
$ST = "" // Строка-столбик, с разделителями EOL (изначально пустая)
TOCLIP("") // Очищаем буфер
WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
$X = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
$Y = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
LDOWN(404, $Y+5) // Начало выделения текста
WAITMS(10)
LUP(600,$Y+5) //Конец выделения текста
WAITMS(500)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#C)
KEYUP (#CTRL)
WAITMS(10)
$ST = STRCONCAT($ST, EOL, FROMCLIP()) // Каждый текст добавляем в строку-столбик
END_CYC
UNDEFINE($ARR_SCAN)
WAITMS(150)
LCLICK(660,751) // В эксель
WAITMS(300)
TOCLIP(STRREPLACE($ST, EOL, "")) // Строку-столбик в буфер, и отрезаем EOL вначале строки
WAITMS(10)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#V)
KEYUP (#CTRL)
HALT
UPD: Добавил удаление лишнего EOL вначале строки-столбика.
-
Прошел год...
Re: Копировать название и описание организации из 2gis (http://crapware.aidf.org/forum/index.php?topic=4745.msg32299#msg32299)
В том примере текст копируется именно столбиком и без лишнего рукоблудства с поиском картинок.
-
Прошел год...
Re: Копировать название и описание организации из 2gis (http://crapware.aidf.org/forum/index.php?topic=4745.msg32299#msg32299)
В том примере текст копируется именно столбиком и без лишнего рукоблудства с поиском картинок.
Здесь другая задача стоит.