Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: SimplY on December 07, 2020, 10:53:05 AM
-
Всем привет! Помогите пожалуйста настроить список в столбик.
В общем, по порядку выделяет и копирует номера телефонов и должен группировать в столбик в формате [номер](tel:номер) без тире и прочего. Только + и цифры.
GETSCREEN(405,430,428,1035)
SCANPICTURE($ARR_SCAN, 405,430,428,1035, "+7.bmp", -1, 80)
$ARR_NUM = 0
#DEFINE EOL: CHAR(13), CHAR(10)
$nom = "" // Строка-столбик, с разделителями 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)
FOR($a=0,$a<3)
LCLICK(402,$Y+4)
WAITMS(10)
END_CYC
WAITMS(500)
copy()
$nom = STRFILTER($nom, "+7894561230", 1)
$nom = STRCONCAT("[", $nom, "](tel:" $nom, ")", EOL, FROMCLIP())
END_CYC
Выходит так:
["](tel:""")
+7‒923‒483‒94‒49
["](tel:""")
+7‒983‒444‒57‒11
Должно быть так:
[+79234839449](tel:+79234839449)
[+79834445711](tel:+79834445711)
И второй вопрос:
Скопирован столбик. Если в строке имеется ровно 11 цифр, то необходимо поставить фильтр от тире и )(, а также заключить номер в такие же скобки в виде ссылки: [цифры](tel:цифры)
Если в строке больше или меньше 11 цифр, то оставить всё как есть.
Например,
Исходный текст:
Иван
+7 (983) 569-96-74
ivan89@mail.ru
Подрядчик
После кликера:
Иван
[+79835699674](tel:+79835699674)
ivan89@mail.ru
Подрядчик
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#C)
KEYUP (#CTRL)
WAITMS (150)
$n = FROMCLIP()
// Операции с переменной
TOCLIP($n)
WAITMS (10)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#V)
KEYUP (#CTRL)
HALT
Заранее спасибо!!!
-
Нет запятой в 19 строке, после "](tel:"
Что делает подпрограмма copy() ?
Пока видно в 18 строке, что ты фильтруешь переменную $nom которая пустая, а не то что скопировали.
Может должно быть
$nom = STRFILTER(FROMCLIP(), "+7894561230", 1)
-
#define @CRLF:STRCONCAT(char(13),char(10))
$text = FROMCLIP()
$start = STRPOS($text, @CRLF) + 2
$end = STRPOS(STRCUT($text, $start, 1000), @CRLF) - 1 + $start - 1
$phone_str = STRCUT2($text, $start, $end)
//print("*", $phone_str, "*")
IF(STRLEN(STRFILTER($phone_str, "0123456789", 1)) = 11)
$phone_new = STRFILTER($phone_str, "+0123456789", 1)
$str_new = STRCONCAT("[", $phone_new, "](tel:", $phone_new, ")")
//print("*", STRCUT($text, $end, 1000), "*")
$text = STRCONCAT(STRCUT2($text, 1, $start-1), $str_new, STRCUT($text, $end+1, 1000))
END_IF
print($text)
-
Нет запятой в 19 строке, после "](tel:"
Что делает подпрограмма copy() ?
Пока видно в 18 строке, что ты фильтруешь переменную $nom которая пустая, а не то что скопировали.
Может должно быть
$nom = STRFILTER(FROMCLIP(), "+7894561230", 1)
copy() выполняет сочетание клавиш Ctrl + C и после задержка 200 ms.
-
Нет запятой в 19 строке, после "](tel:"
Что делает подпрограмма copy() ?
Пока видно в 18 строке, что ты фильтруешь переменную $nom которая пустая, а не то что скопировали.
Может должно быть
$nom = STRFILTER(FROMCLIP(), "+7894561230", 1)
Спасибо! Получилось! Но теперь переводится в ссылку только 1-й номер. Остальные нет.
[+79231262485](tel:+79231262485)
+7‒923‒126‒24‒85
Изначально номера 3.
-
Спасибо! Получилось! Но теперь переводится в ссылку только 1-й номер. Остальные нет.
[+79231262485](tel:+79231262485)
+7‒923‒126‒24‒85
Изначально номера 3.
Где здесь три номера?
Скопирован столбик. Если в строке имеется ровно 11 цифр, ...
Исходный текст:
Иван
+7 (983) 569-96-74
ivan89@mail.ru
Подрядчик
После кликера:
Иван
[+79835699674](tel:+79835699674)
ivan89@mail.ru
Подрядчик
-
Спасибо! Получилось! Но теперь переводится в ссылку только 1-й номер. Остальные нет.
[+79231262485](tel:+79231262485)
+7‒923‒126‒24‒85
Изначально номера 3.
Где здесь три номера?
Скопирован столбик. Если в строке имеется ровно 11 цифр, ...
Исходный текст:
Иван
+7 (983) 569-96-74
ivan89@mail.ru
Подрядчик
После кликера:
Иван
[+79835699674](tel:+79835699674)
ivan89@mail.ru
Подрядчик
Вот другой пример из 1 вопроса:
+7 (383) 214‒47‒45
+7 (38341) 3‒50‒50
+7 (38341) 3‒50‒55
Кликер копирует 3 номера по очереди и вставляет в столбик такой результат:
[+73832144745](tel:+73832144745)
+7 (383) 214‒47‒45
Только самый первый номер и в двух вариантах.
Должно быть так:
[+73832144745](tel:+73832144745)
[+73834135050](tel:+73834135050)
[+73834135055](tel:+73834135055)
-
Спасибо! Получилось! Но теперь переводится в ссылку только 1-й номер. Остальные нет.
[+79231262485](tel:+79231262485)
+7‒923‒126‒24‒85
Изначально номера 3.
Где здесь три номера?
Скопирован столбик. Если в строке имеется ровно 11 цифр, ...
Исходный текст:
Иван
+7 (983) 569-96-74
ivan89@mail.ru
Подрядчик
После кликера:
Иван
[+79835699674](tel:+79835699674)
ivan89@mail.ru
Подрядчик
Во втором вопросе он тоже редактирует только первый номер.
-
Во втором вопросе он тоже редактирует только первый номер.
Так я о том и говорю. Предоставлен пример входных данных. Под них и написано. Там нигде не сказано, что номеров больше или может быть больше, или может не быть вовсе.
Скрипт пишется под конкретные входные данные. Будут другие данные - будет другой скрипт.
Чтобы сразу получить правильный ответ, нужно предоставлять все данные. Вот же интересно по десять раз переделывать одно и то же. Будто время девать некуда.
-
Вот другой пример из 1 вопроса:
+7 (383) 214‒47‒45
+7 (38341) 3‒50‒50
+7 (38341) 3‒50‒55
Кликер копирует 3 номера по очереди и вставляет в столбик такой результат:
[+73832144745](tel:+73832144745)
+7 (383) 214‒47‒45
Только самый первый номер и в двух вариантах.
Должно быть так:
[+73832144745](tel:+73832144745)
[+73834135050](tel:+73834135050)
[+73834135055](tel:+73834135055)
По первому примеру я только сказал про ошибку в строке 18
$nom = STRFILTER(FROMCLIP(), "+7894561230", 1)
Остальное ты сам так написал, я же не знаю зачем
$nom = STRCONCAT("[", $nom, "](tel:" $nom, ")", EOL, FROMCLIP())
может ты добавил , EOL, FROMCLIP() для отладки (перевод строки и вывод исходного номера). Раз сам добавил, значит сам и сможешь убрать.
По поводу того, что только первый номер, так я не в курсе что делает твой код. Что конкретно ищет, потом там в цикле кликает, что-то копирует. Это знаешь только ты.
Я предположил, что он в цикле кликает и копирует по одному номеру, логично же? И вопрос был именно в форматировании номера, а не в его поиске и копировании. Я и предположить не мог, что там копируется пачка номеров сразу.