|
Написать скритп, Мне нужен простенький скрипит который будет копировать выделенный текс |
|
|
SkAzKa1234 |
28.12.2018, 6:13
|
Neophyte
Сообщений: 15
Регистрация: 28.12.2018 Группа: Пользователи Наличность: 0
Пользователь №: 19.170
Возраст: 20
|
Ребят, я тут впервые извиняюсь если не по теме. Я пользуюсь UoPilot давно и для себя уже написал простенькие скрипты для работы. У меня появилась задумка которую без понятий как реализовать. Мне нужно чтоб из окна копировался текст и записывался в текстовой документ в столб и так же нужно будет чтобы нажатиями двух клавиш я мог из этого документа подставлять строки. Чтобы было понятней допустим. 1. 123 2. 1234 4. 1546 5. 143546 Вот 5 строк записанные через пилот, и я хочу чтобы клавишами стрелок верх вниз (к примеру) он подставлял мне нужную строку, нажал вниз соответственно подставилась нижняя строка, верх предыдущая и т.д. вручную подставлять это гемор, за сутки таких строк около 300-400 нужно обработать. Если есть возможно подскажите как самому это написать, какие команды нужны. Я не слоупок, основы работы программы знаю и обучаюсь быстро. (IMG: style_emoticons/default/smile.gif)
|
|
|
|
cirus |
28.12.2018, 13:10
|
Elder
Сообщений: 3.480
Регистрация: 18.8.2014 Группа: Пользователи Наличность: 26702
Пользователь №: 16.971
Возраст: 29
|
|
|
|
|
SkAzKa1234 |
29.12.2018, 1:43
|
Neophyte
Сообщений: 15
Регистрация: 28.12.2018 Группа: Пользователи Наличность: 0
Пользователь №: 19.170
Возраст: 20
|
Цитата(DarkMaster @ 29.12.2018, 1:38) Рекоменду менее абстрактно описать задачу, скорее всего путь которым вы идете не самый правильный (вы загнали ответы в рамки описанные в начале темы). Не стесняйтесь выкладывать код. Напиали, не работает? Выкладывыайте - ткнем пальцем, что не так. Поверьте, когда челоек выкладывает код, то вероятность успешного решения проблемы очень сильно увеличивается.
set %arr [1 1] save_array %arr [#array_138 #array_68] C:\Users\тест\Desktop\Скрины\q.txt stop_script Как пример, я щас сижу пишу, текстовой документ создается но я написал координаты на экране где находится окно с данными (начало этого окна) но что ему еще нужно чтобы скопировать от туда нужную мне инфу, там просто цифры 11 значные одной строкой в этом окне
|
|
|
|
SkAzKa1234 |
29.12.2018, 2:15
|
Neophyte
Сообщений: 15
Регистрация: 28.12.2018 Группа: Пользователи Наличность: 0
Пользователь №: 19.170
Возраст: 20
|
Цитата(cirus @ 29.12.2018, 2:00) Для примера, как скопировать слово из блокнота: Код showwindow windowhandle minimize // свернуть пилот wait 1000 double_kleft 28, 95 // двойной клик по слову, чтобы выделить его (указать нужные координаты) wait 300 sendex_down ^c // нажать Ctrl+C (копировать текст в буфер) wait 100 sendex_up ^c // отпустить Ctrl+C wait 300 get clipboard $s // получить содержимое буфера wait 100 hint (20 clRed 500 500 -1 -1 ($s)) // показать что было получено из буфера write (C:\123abc.txt $s \r\n) // дозаписать в файл end_script Да, примерно так я уже писал только я использовал GetSelectedText присваивал переменную и после уже записывал через wrait, но единственное я не понял что сделать чтобы запись шла в столб, все в одну строку записывало, можно конечно пробелы поставить, но желательно в столб Цитата(SkAzKa1234 @ 29.12.2018, 2:06) Да, примерно так я уже писал только я использовал GetSelectedText присваивал переменную и после уже записывал через wrait, но единственное я не понял что сделать чтобы запись шла в столб, все в одну строку записывало, можно конечно пробелы поставить, но желательно в столб
Я понял, не дописал \r\n в команде )))))) Очень благодарен за ответы, но я думал что есть возможность зная адрес строки или окна в программе копировать от туда данные, без самого копирования текста, ибо с кликами и выделения требуют команду на время, что очень важно.
|
|
|
|
SkAzKa1234 |
29.12.2018, 2:18
|
Neophyte
Сообщений: 15
Регистрация: 28.12.2018 Группа: Пользователи Наличность: 0
Пользователь №: 19.170
Возраст: 20
|
Цитата(SkAzKa1234 @ 29.12.2018, 2:15) Да, примерно так я уже писал только я использовал GetSelectedText присваивал переменную и после уже записывал через wrait, но единственное я не понял что сделать чтобы запись шла в столб, все в одну строку записывало, можно конечно пробелы поставить, но желательно в столб Я понял, не дописал \r\n в команде )))))) Очень благодарен за ответы, но я думал что есть возможность зная адрес строки или окна в программе копировать от туда данные, без самого копирования текста, чтобы исключить возможную ибо с кликами и выделения требуют команду на время, что очень важно.
set $t GetSelectedText write (C:\Users\тест\Desktop\Пример\прим.txt $t \r\n ) end_script вот код который я написал, действия с выделением пропустил, пока сам выделяю. Он работает но мне не совсем это нужно((((
|
|
|
|
SkAzKa1234 |
29.12.2018, 2:52
|
Neophyte
Сообщений: 15
Регистрация: 28.12.2018 Группа: Пользователи Наличность: 0
Пользователь №: 19.170
Возраст: 20
|
Цитата(sutra @ 29.12.2018, 2:50) А как Пилот скопирует без мыши и без клавиатуры? Под гипнозом? Теоретически возможно, но я наверное это сделать не смогу, ну или придётся долго шерстить память, пока найдёшь адрес где лежит это число.
А через хендл окна? Workwindow handle
|
|
|
|
sutra |
29.12.2018, 2:58
|
Adept
Сообщений: 923
Регистрация: 10.8.2018 Группа: Пользователи Наличность: 0
Пользователь №: 19.007
|
И почему такое нежелание использовать ну хотя бы мышь? Быстренько ваша мышь всё сделает и Вы даже не успеете это заметить. Моя мышь пашет на Благо Пилота круглые сутки, а я в это время играю в другую игру и всё нормально, работаю с документами, сижу в инете, вот с Вами сейчас веду переписку. Цитата А через хендл окна? Хендл окна - это его имя. Это способ понять из КАКОГО окна копировать. Ну само то собой ничего не может делаться, ведь так? Ну да, есть хендл окна. Но это просто число, само по себе что оно даёт? Цитата основы работы программы знаю и обучаюсь быстро Давайте учиться заново, может и я чего в этой теме не знаю, тоже подучусь.
|
|
|
|
SkAzKa1234 |
29.12.2018, 3:01
|
Neophyte
Сообщений: 15
Регистрация: 28.12.2018 Группа: Пользователи Наличность: 0
Пользователь №: 19.170
Возраст: 20
|
Цитата(sutra @ 29.12.2018, 2:53) И почему такое нежелание использовать ну хотя бы мышь? Быстренько ваша мышь всё сделает и Вы даже не успеете это заметить. Моя мышь пашет на Благо Пилота круглые сутки, а я в это время играю в другую игру и всё нормально, работаю с документами, сижу в инете, вот с Вами сейчас веду переписку. Хендл окна - это его имя. Это способ понять из КАКОГО окна копировать.
Да дело в том что программа в которой я работаю написана на Делфи 7 и любит иногда шалить и выдавать ошибки, и бывает так что даже вручную скопировать не получается, нажимаешь на окно откуда хочешь скопировать а бегущая строка у тебя в центре программы бегает и только через пару манипуляций можно исправить а мне нужна стабильность, поэтому поинтересовался, в любом случае благодарю за ответы, и скажу от себя пилот ну ОООООЧЕНЬ выручает обязательно пожертвую автору на бутылку коньяка (IMG: style_emoticons/default/biggrin.gif) . И да, хотел узнать в пилоте есть возможность делать клики вторым курсором не трогая основной ну или после перемещений вернуть мышь на исходную позицию?
|
|
|
|
SkAzKa1234 |
29.12.2018, 3:07
|
Neophyte
Сообщений: 15
Регистрация: 28.12.2018 Группа: Пользователи Наличность: 0
Пользователь №: 19.170
Возраст: 20
|
Цитата(sutra @ 29.12.2018, 3:04) Сначала про строки и столбцы. %arr[1 1] %arr[1 2] %arr[1 3] - это мы работаем со строкой из 3-х столбцов. %arr[1 1] %arr[2 1] %arr[3 1] - это мы работаем с 3-мя строками содержащими 1 столбец. Можно, но не всегда. В Вашем случае уверен можно.
не очень понял почему в моем какая команда это делает? Цитата(sutra @ 29.12.2018, 3:05) Сначала про строки и столбцы. %arr[1 1] %arr[1 2] %arr[1 3] - это мы работаем со строкой из 3-х столбцов. %arr[1 1] %arr[2 1] %arr[3 1] - это мы работаем с 3-мя строками содержащими 1 столбец. Можно, но не всегда. В Вашем случае уверен можно.
left - клик без захвата окна - предпочтительно, но иногда не работает, тогда kleft - но это уже с захватом окна, что для Вас видимо неприемлемо.
Эммммм, ясно)
|
|
|
|
SkAzKa1234 |
29.12.2018, 3:12
|
Neophyte
Сообщений: 15
Регистрация: 28.12.2018 Группа: Пользователи Наличность: 0
Пользователь №: 19.170
Возраст: 20
|
Цитата(sutra @ 29.12.2018, 3:05) Сначала про строки и столбцы. %arr[1 1] %arr[1 2] %arr[1 3] - это мы работаем со строкой из 3-х столбцов. %arr[1 1] %arr[2 1] %arr[3 1] - это мы работаем с 3-мя строками содержащими 1 столбец. Можно, но не всегда. В Вашем случае уверен можно.
left - клик без захвата окна - предпочтительно, но иногда не работает, тогда kleft - но это уже с захватом окна, что для Вас видимо неприемлемо.
если вы не поняли суть моего вопроса то не нужно включать всезнайку Про заполнение в ткст док мне уже ответили, а про left и kleft очень смешно Цитата(sutra @ 29.12.2018, 3:10) Все команды мыши начинающиеся с k - используют захват окна, а значит и деактивацию того окна с которым Вы сейчас работаете. Если всё равно и всё автономно, то можно и kleft. Пробуйте и смотрите. Ну потому что Ваша прога на Делфи не ставит никаких защит по эмуляции кликов. Почитайте справку по командам (вам ссылки давали). Вот с мышки и начните. Попробуйте ткнуть для начала куда-нибудь.
Да да да)))))) вы забавный. Всего доброго.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|