Здравствуйте, гость ( Вход | Регистрация )

2 страниц V  1 2 >  
Ответить в эту темуОткрыть новую тему
> Написать скритп, Мне нужен простенький скрипит который будет копировать выделенный текс
SkAzKa1234
сообщение 28.12.2018, 6:13
Сообщение #1


**

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)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 28.12.2018, 13:10
Сообщение #2


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26576
Пользователь №: 16.971
Возраст: 29



Цитата
какие команды нужны

http://uopilot.tati.pro/index.php?title=Load_array
http://uopilot.tati.pro/index.php?title=Save_array
http://uopilot.tati.pro/index.php?title=Write
http://uopilot.tati.pro/index.php?title=Список_функций
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
SkAzKa1234
сообщение 29.12.2018, 1:31
Сообщение #3


**

Neophyte
Сообщений: 15
Регистрация: 28.12.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.170
Возраст: 20



Цитата(cirus @ 28.12.2018, 13:10) *


Я сегодня посидел, и пока получилось только использовать команду write, долго пытался использовать Save_array так и не вышло, я не понял какие координаты ему нужны чтобы он знал откуда брать данные
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 29.12.2018, 1:38
Сообщение #4


***********

Модератор UOPilot
Сообщений: 9.460
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27707
Пользователь №: 11.279



Рекоменду менее абстрактно описать задачу, скорее всего путь которым вы идете не самый правильный (вы загнали ответы в рамки описанные в начале темы).
Не стесняйтесь выкладывать код. Напиали, не работает? Выкладывыайте - ткнем пальцем, что не так. Поверьте, когда челоек выкладывает код, то вероятность успешного решения проблемы очень сильно увеличивается.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
SkAzKa1234
сообщение 29.12.2018, 1:43
Сообщение #5


**

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 значные одной строкой в этом окне
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 29.12.2018, 2:00
Сообщение #6


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26576
Пользователь №: 16.971
Возраст: 29



Для примера, как скопировать слово из блокнота:
Код
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
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
SkAzKa1234
сообщение 29.12.2018, 2:15
Сообщение #7


**

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 в команде ))))))
Очень благодарен за ответы, но я думал что есть возможность зная адрес строки или окна в программе копировать от туда данные, без самого копирования текста, ибо с кликами и выделения требуют команду на время, что очень важно.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 29.12.2018, 2:18
Сообщение #8


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26576
Пользователь №: 16.971
Возраст: 29



Код
write (C:\123abc.txt $s \r\n)

\r\n это переход на новую строку.
Код
write (C:\123abc.txt текст1 \r\n)
write (C:\123abc.txt текст2 \r\n)
write (C:\123abc.txt текст3 \r\n)
end_script

Допишет 3 строки в файл.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
SkAzKa1234
сообщение 29.12.2018, 2:18
Сообщение #9


**

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

вот код который я написал, действия с выделением пропустил, пока сам выделяю. Он работает но мне не совсем это нужно((((
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 29.12.2018, 2:33
Сообщение #10


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26576
Пользователь №: 16.971
Возраст: 29



Цитата
не совсем это нужно

Цитата
Рекомендую менее абстрактно описать задачу
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
SkAzKa1234
сообщение 29.12.2018, 2:42
Сообщение #11


**

Neophyte
Сообщений: 15
Регистрация: 28.12.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.170
Возраст: 20



Мне нужно не через эмуляцию кликов и копирования, а именно чтобы зная адрес окна, куда вводится инфа (а это просто цифры) он мог скопировать от туда и записать в блокнот, при это не используя команду с мышью и клавиатурой. Я не знаю как еще написать чтобы меня поняли. Возможно ли записать адрес окна именно как к примеру адрес к папке или файлу.


Эскизы прикрепленных изображений
Прикрепленное изображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 29.12.2018, 2:50
Сообщение #12


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



А как Пилот скопирует без мыши и без клавиатуры? Под гипнозом? Теоретически возможно, но я наверное это сделать не смогу, ну или придётся долго шерстить память, пока найдёшь адрес где лежит это число.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
SkAzKa1234
сообщение 29.12.2018, 2:52
Сообщение #13


**

Neophyte
Сообщений: 15
Регистрация: 28.12.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.170
Возраст: 20



Цитата(sutra @ 29.12.2018, 2:50) *

А как Пилот скопирует без мыши и без клавиатуры? Под гипнозом? Теоретически возможно, но я наверное это сделать не смогу, ну или придётся долго шерстить память, пока найдёшь адрес где лежит это число.


А через хендл окна?
Workwindow handle
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 29.12.2018, 2:58
Сообщение #14


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



И почему такое нежелание использовать ну хотя бы мышь? Быстренько ваша мышь всё сделает и Вы даже не успеете это заметить. Моя мышь пашет на Благо Пилота круглые сутки, а я в это время играю в другую игру и всё нормально, работаю с документами, сижу в инете, вот с Вами сейчас веду переписку.

Цитата
А через хендл окна?

Хендл окна - это его имя. Это способ понять из КАКОГО окна копировать.


Ну само то собой ничего не может делаться, ведь так? Ну да, есть хендл окна. Но это просто число, само по себе что оно даёт?

Цитата
основы работы программы знаю и обучаюсь быстро

Давайте учиться заново, может и я чего в этой теме не знаю, тоже подучусь.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
SkAzKa1234
сообщение 29.12.2018, 3:01
Сообщение #15


**

Neophyte
Сообщений: 15
Регистрация: 28.12.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.170
Возраст: 20



Цитата(sutra @ 29.12.2018, 2:53) *

И почему такое нежелание использовать ну хотя бы мышь? Быстренько ваша мышь всё сделает и Вы даже не успеете это заметить. Моя мышь пашет на Благо Пилота круглые сутки, а я в это время играю в другую игру и всё нормально, работаю с документами, сижу в инете, вот с Вами сейчас веду переписку.
Хендл окна - это его имя. Это способ понять из КАКОГО окна копировать.


Да дело в том что программа в которой я работаю написана на Делфи 7 и любит иногда шалить и выдавать ошибки, и бывает так что даже вручную скопировать не получается, нажимаешь на окно откуда хочешь скопировать а бегущая строка у тебя в центре программы бегает и только через пару манипуляций можно исправить а мне нужна стабильность, поэтому поинтересовался, в любом случае благодарю за ответы, и скажу от себя пилот ну ОООООЧЕНЬ выручает обязательно пожертвую автору на бутылку коньяка (IMG:style_emoticons/default/biggrin.gif) .

И да, хотел узнать в пилоте есть возможность делать клики вторым курсором не трогая основной ну или после перемещений вернуть мышь на исходную позицию?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 29.12.2018, 3:05
Сообщение #16


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



Сначала про строки и столбцы. %arr[1 1] %arr[1 2] %arr[1 3] - это мы работаем со строкой из 3-х столбцов. %arr[1 1] %arr[2 1] %arr[3 1] - это мы работаем с 3-мя строками содержащими 1 столбец.

Цитата
делать клики вторым курсором не трогая основной ну или после перемещений вернуть мышь на исходную позицию?

Можно, но не всегда. В Вашем случае уверен можно.

left - клик без захвата окна - предпочтительно, но иногда не работает, тогда kleft - но это уже с захватом окна, что для Вас видимо неприемлемо.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
SkAzKa1234
сообщение 29.12.2018, 3:07
Сообщение #17


**

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 - но это уже с захватом окна, что для Вас видимо неприемлемо.


Эммммм, ясно)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 29.12.2018, 3:10
Сообщение #18


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



Все команды мыши начинающиеся с k - используют захват окна, а значит и деактивацию того окна с которым Вы сейчас работаете. Если всё равно и всё автономно, то можно и kleft. Пробуйте и смотрите.

Цитата
не очень понял почему в моем

Ну потому что Ваша прога на Делфи не ставит никаких защит по эмуляции кликов.


Почитайте справку по командам (вам ссылки давали). Вот с мышки и начните. Попробуйте ткнуть для начала куда-нибудь.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
SkAzKa1234
сообщение 29.12.2018, 3:12
Сообщение #19


**

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. Пробуйте и смотрите.
Ну потому что Ваша прога на Делфи не ставит никаких защит по эмуляции кликов.
Почитайте справку по командам (вам ссылки давали). Вот с мышки и начните. Попробуйте ткнуть для начала куда-нибудь.

Да да да)))))) вы забавный. Всего доброго.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sutra
сообщение 29.12.2018, 3:17
Сообщение #20


*******

Adept
Сообщений: 923
Регистрация: 10.8.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 19.007



Цитата
если вы не поняли суть моего вопроса

Ну почему же, я прекрасно понял вопрос. Скопировать что-то куда-то используя хендл.


Цитата
Всего доброго.

И Вам всего доброго и с Наступающим. Извините, ежели обидел. Но просто как-то вопросы не вязались с заявленным имиджем. Вообще-то Пилот - это автокликер, и значит кликать (мышкой) - это его основная работа.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

2 страниц V  1 2 >
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 29.3.2024, 18:39
Designed by Nickostyle