Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: SimplY on November 21, 2019, 05:32:02 AM
-
Всем привет!
Есть три слова. Фамилия, имя и отчество. Выделяет и копирует он полное ФИО, так как они написаны вместе через пробел. Фамилия всегда первая, имя второе и отчество соответственно последнее. В другое место он должен вставлять только имя и отчество. ФИО всегда разное, соответственно кол-во букв тоже. Ориентир пробел. Вставить желательно без форматирования.
Пример:
Копировать: Петров Юрий Антонович
Вставить: Юрий Антонович
//предыдущий скрипт
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#C)
KEYUP (#CTRL)
WAITMS (500)
$io = FROMCLIP()
//Дальнейший скрпит
LCLICK(302,282) // Кликает на место вставки текста
WAITMS (500)
TOCLIP($io)
WAITMS (50)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#V)
KEYUP (#CTRL)
Пытался разобраться, но не нашел функцию, удаляющую первое слово из строки.
-
STRCUT2($io, STRPOS($io, " ", 2) + 1, STRLEN($io))
-
Можно ещё через массив.
Да, так длинней и медлинней.
Но так удобней, если слова нужны не подряд, или в другом порядке, или из середины. Особенно, если нужно несколько вариантов.
$f = "Пушкин Александр Сергеевич"
UNDEFINE($fio)
STRSEPARATE($f, " ", $fio)
// имя отчество
$io = STRCONCAT($fio[1], " ", $fio[2])
print($io)
// имя фамилия
$if = STRCONCAT($fio[1], " ", $fio[0])
print($if)
// имя
$i = STRCONCAT($fio[1])
print($i)
HALT
8:46:22 Александр Сергеевич
8:46:22 Александр Пушкин
8:46:22 Александр
-
Можно ещё через массив.
Да, так длинней и медлинней.
Но так удобней, если слова нужны не подряд, или в другом порядке, или из середины. Особенно, если нужно несколько вариантов.
$f = "Пушкин Александр Сергеевич"
UNDEFINE($fio)
STRSEPARATE($f, " ", $fio)
// имя отчество
$io = STRCONCAT($fio[1], " ", $fio[2])
print($io)
// имя фамилия
$if = STRCONCAT($fio[1], " ", $fio[0])
print($if)
// имя
$i = STRCONCAT($fio[1])
print($i)
HALT
8:46:22 Александр Сергеевич
8:46:22 Александр Пушкин
8:46:22 Александр
Спасибо! Кстати, иногда копирует только имя и отчество. Тогда соответственно нужно скопировать и вставить оба слова.
-
Друзья! У меня не получается ни первый код, ни второй. В первом случае он как копирует ФИО, так ФИО и вставяет.
Во втором случае с массивами вставляет 0 0
Если Три слова, то вставлять последние 2.
Если два слова копируется, то вставлять весь текст.
-
$f = "Петров Юрий Антонович"
UNDEFINE($fio)
STRSEPARATE($f, " ", $fio)
IF(ARRSIZE($fio) > 2)
$f = STRCONCAT($fio[1], " ", $fio[2])
END_IF
print($f)
HALT
-
Спасибо!!!
Всё получилось:)