Что нового

Одновременный ввод текста в два поля

Godygadu

Новичок
Сообщения
47
Репутация
0
Приветствую вас. Возникла необходимость организовать ввод в два поля одновременно. Как это выгядит - есть окно "сохранить как" в название пишем текст, а он одновременно пишется в другой программе в поле ввода. Как организовать намекните. Спасибо.
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Код:
ControlGetText
ControlSetText
 
Автор
G

Godygadu

Новичок
Сообщения
47
Репутация
0
Спасибо. Попробую.


Добавлено:
Сообщение автоматически объединено:

Сделал так, но не работает.
:(

Код:
WinWait ("Win1")
	  $Text = ControlGetText("Win1","","Edit1")
       $Text2 = GUICtrlRead($Text)

 WinExists ("Win2")
	  ControlSetText("Win2","","Edit3", $Text2)


 While 1
 WEnd
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Код:
While 1
	$cgt = ControlGetText('Win1','','Edit1')
	If Not @error Then ControlSetText('Win2','','Edit1',$cgt)
	Sleep(100)
WEnd

если ты передаешь текст между окнами свои программ, то в этот код можно встроить в код программы, которая должна передавать
Код:
#include <GUIConstantsEx.au3>
$Form1 = GUICreate("Win1", 437, 118, 214, 258)
$Input1 = GUICtrlCreateInput("", 16, 48, 385, 21)
GUISetState(@SW_SHOW)
While 1
	$cgt = GUICtrlRead($Input1)
	If Not $cgt = 0 Then ControlSetText('Win2', '', 'Edit1', $cgt)
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
	EndSwitch
WEnd

есть другие способы передачи данных между скриптами. на форуме это обсуждалось
 
Автор
G

Godygadu

Новичок
Сообщения
47
Репутация
0
Вот так заработало
Код:
While 1
  Local $cgt

    If WinActive ('Win1') Then
	$cgt = ControlGetText("Win1", "", "[CLASS:Edit; INSTANCE:1]")
    If Not @error Then ControlSetText('Win2','',"[CLASS:Edit; INSTANCE:3]", $cgt)
	   EndIf
    Sleep(100)
  WEnd
 
Верх