Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.06.2011, 13:24   #1
Xemustre
Новичок
Джуниор
 
Регистрация: 26.06.2011
Сообщений: 2
По умолчанию SendMessage,Delphi,Edit.

Цитата:
SendMessage(handle,WM_CHAR,ord('s') ,0);
Как оправить не S,а текст из Edit.
Xemustre вне форума Ответить с цитированием
Старый 26.06.2011, 13:41   #2
Leo08
Delphi master
Пользователь
 
Аватар для Leo08
 
Регистрация: 28.05.2011
Сообщений: 96
По умолчанию

Дело в том, что Вы пользуетесь параметром WM_CHAR (1 символ). Вы конечно можете передавать по одному символу (edit1.text[i]) из edit через цикл.
For i:=1 to length(edit1.text) do
Но можно параметром (вроде WM_SETTEXT) передать весь текст.
Только не забудьте взять edit1.text в параметры функции PChar() при передаче!
БЯЯЯГГАААААА

Последний раз редактировалось Leo08; 26.06.2011 в 14:07.
Leo08 вне форума Ответить с цитированием
Старый 26.06.2011, 14:07   #3
Xemustre
Новичок
Джуниор
 
Регистрация: 26.06.2011
Сообщений: 2
По умолчанию

Спасибо тебе.Сделал так:
Цитата:
procedure TForm1.Button1Click(Sender: TObject);
var
wnd:HWND;
i:Integer;
s:string;
begin
s:=Edit1.Text;
wnd:=FindWindow(nil, 'window);
i:=length(s);
For i:=1 to length(edit1.text) do
SendMessage(wnd,WM_CHAR,ord(s[i]),0);
end;
end.
Xemustre вне форума Ответить с цитированием
Старый 26.06.2011, 14:26   #4
Leo08
Delphi master
Пользователь
 
Аватар для Leo08
 
Регистрация: 28.05.2011
Сообщений: 96
По умолчанию

А зачем Вы перед циклом i присваиваете?) оно же в цикле всё равно примет нужные значения...
БЯЯЯГГАААААА
Leo08 вне форума Ответить с цитированием
Старый 26.06.2011, 22:25   #5
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Может это поможет
Цитата:
//Для отправки текста
procedure TForm1.Button1Click(Sender: TObject);
var
wnd:HWND;
s:string;
begin
s:=Edit1.Text;
wnd:=FindWindow(nil, 'window);
SetWindowText(wnd, Pchar(s));
end.

//для получения текста
procedure TForm1.Button2Click(Sender: TObject);
var
wnd:HWND;
s:string;
begin
wnd:=FindWindow(nil, 'window);
SetLength(s, $FFFF);
SetLength(s, GetWindowText(wnd, pchar(s), $FFFF));
Edit1.Text:=s;
end;
Либо можно через сообщения
Цитата:
// для отправки текста
procedure TForm1.Button1Click(Sender: TObject);
var
wnd:HWND;
s:string;
begin
s:=Edit1.Text;
wnd:=FindWindow(nil, 'window);
SendMessage(wnd, WM_SETTEXT, length(s), lParam(s));
end;

//для получения текста
procedure TForm1.Button2Click(Sender: TObject);
var
wnd:HWND;
s:string;
len: Integer;
begin
wnd:=FindWindow(nil, 'window);
len := SendMessage(wnd, WM_GETTEXTLENGTH, 0, 0)+1;
setLength(s, len);
SendMessage(wnd, WM_GETTEXT, len, lParam(s));
Edit1.Text:=s;
end;

Последний раз редактировалось Aliens_wolfs; 26.06.2011 в 23:10.
Aliens_wolfs вне форума Ответить с цитированием
Старый 25.12.2012, 22:49   #6
tolik2808
Новичок
Джуниор
 
Регистрация: 25.12.2012
Сообщений: 1
По умолчанию

Aliens_wolfs, помог спасибо)

а вот у меня трабл немного в другом
имею окно которое нашел через FindWindow(...); потом оказалось что у него есть 2 дочерных елемента одинакового класса. Первый елемент нахожу FindWindowEx(...), но только ПЕРВЫЙ. как обратится к остальным??? ранее спасибо за ответ)
tolik2808 вне форума Ответить с цитированием
Старый 25.12.2012, 22:58   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

внимательно почитать описание параметров FindWindowEx.
+ есть еще GetWindow.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi Edit Samkoff Общие вопросы Delphi 4 23.05.2011 18:49
События в edit (Delphi) Евгений1 Помощь студентам 8 08.03.2011 21:34
Цифры в Edit(delphi) CAMOBAP Помощь студентам 4 25.01.2011 22:17
Memo и Edit (Delphi) CAMOBAP Помощь студентам 12 11.01.2011 21:35
Delphi, проблема с EDIT utrnjhyfgjktjy Помощь студентам 0 03.04.2010 14:06