1 (изменено: coder_xxx, 2011-05-03 17:19:21)

Тема: AHK:Построчное копирование из одного окна в другое

Здравсвуйте, помогите мне пожалуйста.
Например есть программа у ней есть 2 поля edit.
Одно поле редактируется, а второе только для чтения. Мне нужно после того как ввести текст в первое поле и после нажатия кнопки "Старт" все содержание построчно копировалось в окно для чтения.
Можно ли такое осуществить?

Вот пробовал сделать так но не получилось

#NoTrayIcon
Gui, Show, x320 y200 h250 w530, окно
Gui, Add, Edit, -Wrap x35 y36 w183 h149 vNew,для ввода
Gui, Add, Edit, x240 y36 w180 h90 vEnd, текст
Gui, Add, Button, x235 y200 w100 h45 gButton, Старт
return
button:
Gui,Submit,Nohide
New = %Clipboard%

    Loop, Parse, new
    {
        Char = %A_LoopField%
        If (Asc(Char) < 128)
            PostMessage, 0x50,, 0x4090409,, A
        Else
            PostMessage, 0x50,, 0x4190419,, A
        Send, %Char%
        Sleep, 250
    }
WinClose

2

Re: AHK:Построчное копирование из одного окна в другое

coder_xxx, я никак не пойму, что вот этот код делает:

button:
Gui,Submit,Nohide
New = %Clipboard%

    Loop, Parse, new
    {
        Char = %A_LoopField%
        If (Asc(Char) < 128)
            PostMessage, 0x50,, 0x4090409,, A
        Else
            PostMessage, 0x50,, 0x4190419,, A
        Send, %Char%
        Sleep, 250
    }
WinClose

Ты можешь объяснить? Желательно построчно!

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3 (изменено: coder_xxx, 2011-05-03 18:01:18)

Re: AHK:Построчное копирование из одного окна в другое

Вот я нашел его тут: http://forum.script-coding.com/viewtopic.php?id=5162
Думал так реализовать но не получилось

4

Re: AHK:Построчное копирование из одного окна в другое

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

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5

Re: AHK:Построчное копирование из одного окна в другое

Я просто думал что с этим кодом у меня получится сделать то что я хочу но вижу не получилось!

Вот теперь прошу у Вас помощи помочь мне так сделать как я просил в 1 посте.

6

Re: AHK:Построчное копирование из одного окна в другое

   Gui, Add, Edit, vEdit1 x0 y0 w110 h70, Первая строчка`nВторая строчка
   Gui, Add, Edit, vEdit2 ReadOnly x115 yp wp hp
   Gui, Add, Button, x82 w61, Start
   Gui, Show, w225
   Return
   
ButtonStart:
   GuiControlGet, Text,, Edit1
   GuiControl,, Edit2, % Text
   Return
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

7

Re: AHK:Построчное копирование из одного окна в другое

teadrinker пишет:
   Gui, Add, Edit, vEdit1 x0 y0 w110 h70, Первая строчка`nВторая строчка
   Gui, Add, Edit, vEdit2 ReadOnly x115 yp wp hp
   Gui, Add, Button, x82 w61, Start
   Gui, Show, w225
   Return
   
ButtonStart:
   GuiControlGet, Text,, Edit1
   GuiControl,, Edit2, % Text
   Return

Спасибо!
Но у меня еще вопрос а можно чтобы копировалось по очереди а не все разом?

8

Re: AHK:Построчное копирование из одного окна в другое

Как это — по очереди? Что должно происходить после нажатия кнопки?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

9

Re: AHK:Построчное копирование из одного окна в другое

После нажатия кнопки Start
спочатку попируется первая строка
потом вторая
и т.д.

А не все сразу!

10

Re: AHK:Построчное копирование из одного окна в другое

А когда — потом? Через час? Завтра?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

11

Re: AHK:Построчное копирование из одного окна в другое

Нет сразу, просто по очереди!

12

Re: AHK:Построчное копирование из одного окна в другое

Тут только что-то одно возможно, либо сразу, либо по очереди. Если сразу — значит одновременно, если по очереди, то через какой-то промежуток времени. Вот я и спрашиваю, через какой? И зачем вообще нужна эта очерёдность? Какой в ней смысл?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

13

Re: AHK:Построчное копирование из одного окна в другое

Ну примерно через 3 секунды

Это нужно для того чтобы успеть просмотреть то что копируется.

14

Re: AHK:Построчное копирование из одного окна в другое

Пожалуйста помогите!
Как сделать копирование каждые 3 сек. по очереди???

15 (изменено: Malcev, 2011-05-04 13:15:37)

Re: AHK:Построчное копирование из одного окна в другое

http://forum.script-coding.com/viewtopic.php?id=5760

16

Re: AHK:Построчное копирование из одного окна в другое

Например, так:

   EM_LINEINDEX := 0xBB, EM_LINELENGTH := 0xC1
   EM_SETSEL := 0xB1, EM_SCROLLCARET := 0xB7
 
   Gui, Add, Edit, vEdit1 x0 y0 w110 h70 hwndhEdit1
      , Первая`nВторая не помещается в строку`nТретья`nЧетвёртая не помещается в строку`nПятая
   Gui, Add, Edit, vEdit2 x115 yp wp hp ReadOnly hwndhEdit2
   Gui, Add, Button, x82 w61, Start
   Gui, Show, w225
   Return
 
ButtonStart:
   GuiControl, Focus, Edit2
   GuiControlGet, Text1,, Edit1
   ControlGet, Count, LineCount,,, ahk_id %hEdit1%
   Loop, % Count
   {
      SendMessage, EM_LINEINDEX, A_Index - 1,,, ahk_id %hEdit1%
      Start := ErrorLevel
      SendMessage, EM_LINELENGTH, Start,,, ahk_id %hEdit1%
      Length := ErrorLevel
      End := Start + Length
      SendMessage, EM_LINEINDEX, A_Index,,, ahk_id %hEdit1%
      NextStart := ErrorLevel
      String := SubStr(Text1, 1, StrLen(String) + Length + (End = NextStart ? 0 : 1))
      GuiControl,, Edit2, %String%
      SendMessage, EM_SETSEL, End, End,, ahk_id %hEdit2%
      SendMessage, EM_SCROLLCARET,,,, ahk_id %hEdit2%
      Sleep, 3000
   }
   String = 
   Return
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder