Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Вставить текст из массива (http://forum.oszone.net/showthread.php?t=145575)

Не флужу 19-07-2009 15:34 1171914

Вставить текст из массива
 
Я снова с элементарным вопросом :shot:

Хочу вставить значение из массива в место, куда мышкой тыкну. Помогите с кодом?

На форуме была тема, в которй мог быть ответ на этот вопрос, но не могу найти её.

beve 19-07-2009 16:21 1171940

Цитата:

Цитата Не флужу
Хочу вставить значение из массива в место, куда мышкой тыкну »

Как это должно быть на практике?

Не флужу 19-07-2009 16:49 1171966

beve,
Допустим, есть значение $array[3]
Тыкаю мышкой по координатам в поле ввода и вставляю как Cntrl+V

beve 19-07-2009 17:12 1171984

Цитата:

Цитата Не флужу
Тыкаю мышкой по координатам в поле ввода и вставляю как Cntrl+V »

Я потому и спрашивал, что если мышку использовать только для того чтоб вставлять это значение и больше не на что, то например можно отслеживать клик мышки, и если клик сделан, то посылать некое значение (из массива или нет, неважно) в место где сделан клик... Но ведь мышка используется и для других целей еще! И поэтому клики будут еще и вне того места куда требуется вставить некое значение. Поэтому нужно отслеживать "этот" клик, и если он в нужном месте сделан, то вставлять некое значение в это место, иначе нет. Вот такое решение.

Не флужу 19-07-2009 17:20 1171991

beve,
Хорошо, каким кодом послать значение в место, указанное курсором мыши?

proxy 19-07-2009 18:41 1172061

Не флужу, вставлять текст в элементе GUICtrlCreateEdit ?
или вообще в любом месте окна?

оба варианта реализуемы

Не флужу 19-07-2009 19:01 1172078

proxy,
Думаю GUI* здесь вообще не причём

Нужно вставить текст в окно ввода, не относящееся к скрипту. Т.е. туда, куда натравлю курсор мыши

Пример:
У меня в Эксплорере есть "Яндекс бар".
В $array[0] задано слово "поиск"
Нужно вставить содержимое $array[0](т.е. слово "поиск") в Яндекс бар

beve 19-07-2009 20:03 1172129

Цитата:

Цитата Не флужу
нужно вставить содержимое $array[0](т.е. слово "поиск") в Яндекс бар »

Извини за вопрос, но не проще ли сделать горячие клавиши, по нажатию на которые в Яндекс бар вставлялся бы текст из $array[0]?

Не флужу 19-07-2009 20:38 1172159

beve,
1. Не могу идентифицировать окно, в которое хочу вставлять информацию, только знаю координаты необходимого поля ввода на мониторе
2. Скрипт должен работать на автомате(без моего вмешательства)

proxy 19-07-2009 20:47 1172168

постановка задачи, пока что, очень расплывчата...и так задача:
1. есть яндекс бар в IE
2. в яндекс баре есть поле ввода текста
3. как только пользователь кликнет в это поле мышки - необходимо вставиьт текст в это поле
все верно?

решение:
1. что сообщает Au3Info.exe при наведение на поле ввода в яндекс-баре?
2. надо что бы скрипт при каждом открытом окне ie тут же находил поле ввода в яндекс баре и проверял есть ли в нем фокус или нет.
3. соответсвенно, как только скрипт определить, что есть фокус в поле ввода в яндекс-баре, скрипт выполнит вставку текста.

Не флужу 19-07-2009 21:09 1172186

proxy,
Не совсем верно.
1. Есть яндекс бар в IE
2. В яндекс баре есть поле ввода текста
3. Когда скрипт подходит к нужному месту- в яндекс бар вводится значение $array[0] **(Пользователь ничего не делает. )

proxy 19-07-2009 21:11 1172188

Цитата:

Цитата Не флужу
Не совсем верно.
1. Есть яндекс бар в IE
2. В яндекс баре есть поле ввода текста
3. Когда появляется информация в массиве, в яндекс бар вводится значение $array[0] **(Пользователь ничего не делает. ) »

ну здорово, пробуй:

решение:
1. что сообщает Au3Info.exe при наведение на поле ввода в яндекс-баре?
2. надо что бы скрипт при каждом открытом окне ie тут же находил поле ввода в яндекс баре
3. соответсвенно, как только скрипт получает текст в массив, скрипт выполнит вставку текста в поле ввода в яндекс-баре.

beve 19-07-2009 21:19 1172200

Цитата:

Цитата Не флужу
только знаю координаты необходимого поля ввода на мониторе »

Предлагаю такое решение:
Код:

;тут MouseClick()

$tekst="просто текст" ;
$Letters=StringSplit ( $tekst, "")

For $i=0 To $Letters[0]
   
Send($Letters[$i])
   
Sleep(50)
Next

;дальше нужный код


Не флужу 19-07-2009 21:27 1172209

proxy,
Пишет

Class: Edit
Instance: 4

Можно немного поподробней? Раз 5-ять прочитал сообщения- только голова заболела :) Было бы не плохо пример кода, если конечно не сложно

beve 19-07-2009 21:34 1172216

Цитата:

Цитата Не флужу
Пишет
Class: Edit
Instance: 4 »

А говорил ничего не известно, кроме координат...

Не флужу 19-07-2009 21:38 1172221

beve,
Яндекс бар привёл в виде примера. Строку в нужном мне окне не получается идентифицировать.

Спасибо. Именно Send() и нужен был:) . Правда можно не разбивать на знаки а выставить Flag=1

beve 19-07-2009 21:49 1172235

Цитата:

Цитата Не флужу
Правда можно не разбивать на знаки а выставить Flag=1 »

Бритва Оккама!


Время: 02:48.

Время: 02:48.
© OSzone.net 2001-