Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

api


Страницы:   1 2 3 4

Жаннка ©   (2006-04-24 13:24:00) 

ку,вопросик по api

var
 h: HWND;
 gg:pchar;
begin
h := findwindow('TWINDOWSCMD','Text Windows Commander 5.0 - Any One');
getwindowtext(h,gg,50);
edit2.Text:=gg;

почему то выводит полный бред в эдит:S‹Ш‹Ги\x1E7\x2

как быть?


balepa   (2006-04-28 14:38:00) [1]


> balepa ©   (28.04.06 14:09) [71]


з.ы. сори не interface, а implementation


balepa   (2006-04-28 14:09:00) [2]


> Жаннка   (28.04.06 14:00) [70]
> как работать с функцией EnumChildWindows
> а точнее EnumFunc: TFarProc; lparam: Longint
> что с ними делать?


Издеваетесь ?
Вот так ее нужно описать перед словом Interface
function EnumProc(h: HWND;lparam: Integer): Boolean; STDCALL;

А вот это после слова interface;
function EnumProc(h: HWND;lparam: Integer): Boolean;
//h = handle эдита
var
N: PChar;
begin
getmem(N,51);
GetClassName(h,N,50);
if N = 'TEdit' then
  MessageBox(Form1.Handle,'ff','ff',16); //вот здесь берете текст с эдита с помощью Sendmessage(....); и вставляете куда вам надо.
freemem(N,51);
result:= True;
end;


Жаннка   (2006-04-28 14:00:00) [3]

как работать с функцией EnumChildWindows
а точнее EnumFunc: TFarProc; lparam: Longint
что с ними делать?


balepa   (2006-04-28 13:56:00) [4]


> Жаннка   (28.04.06 13:52) [68]


Во что неврубаетесь ?


Жаннка   (2006-04-28 13:52:00) [5]

вот код,вытаскивает из эдитов на форме текст,а как быть если эдит находится на panel или pagecontrol,нашла функцию
EnumChildWindows(WndParent: HWnd; EnumFunc: TFarProc; lparam: Longint): Bool;
WndParent - эт понятно,а с enumfunc и lparam как быть?
посмарела предыдущий пост чет не врубаюсь
var
Hndl,h: THandle;
st: string;
begin
SetLength(st, 255);
FillChar(st[1],255,0);
h:=FindWindow(nil,'Form1');
Hndl:= FindWindowEx(h,0,'TEdit',nil);
SendMessage(hndl,WM_getTEXT,255, Integer(@st[1]));
edit1.text:= st;
Hndl:= FindWindowEx(h,Hndl,'TEdit',nil);
SendMessage(hndl,WM_getTEXT,255, Integer(@st[1]));
edit2.text:=st;


balepa   (2006-04-28 06:38:00) [6]

function EnumProc(h: HWND;lparam: Integer): Boolean;
var
 N: PChar;
begin
 getmem(N,51);
 GetClassName(h,N,50);
 if N = 'TEdit' then
   MessageBox(Form1.Handle,'ff','ff',16);
 freemem(N,51);
result:= True;
end;
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
 EnumChildWindows(Form1.Handle,@EnumProc,0);
end;


balepa   (2006-04-27 17:18:00) [7]

http://www.delphimaster.ru/cgi-bin/forum.pl?id=1145516275&n=5

function ChildWnd(h:THandle; wparam:integer): Bool;stdcall;
var
 Text: array [0..256] of Char;
begin
GetWindowText(h, text, 200);
if Text = 'Edit1' then
 Form1.Label1.Caption:= Text
else if Text = 'Edit2' then
 Form1.Label2.Caption:= Text
else if Text = 'Edit3' then
 Form1.Label3.Caption:= Text
else if Text = 'Edit4' then
 Form1.Label4.Caption:= Text;
result:=true;
end;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
 h: hwnd;
begin
 EnumChildWindows(Form1.Handle,@ChildWnd,0);
end;


Жаннка   (2006-04-27 16:01:00) [8]

то наверно,но разобраться не могу :(
вот пробую такой текст
var
Hndl,h: THandle;
st: string;
begin
SetLength(st, 255);
FillChar(st[1],255,0);
h:=FindWindow(nil,'Form2');
Hndl:= FindWindowEx(h,0,'tdbedit',nil);
SendMessage(hndl,WM_GETTEXT,255, Integer(@st[1]));
Label1.Caption:= st;
опять же с последнего эдита берет..


balepa   (2006-04-26 14:52:00) [9]

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowfunctions/enumchildwindows.asp

Посмотри может это то что нужно.


Жаннка   (2006-04-26 14:44:00) [10]

есть приложение, на нем 6 эдитов,вот из них надо вытащить текст


balepa   (2006-04-26 14:42:00) [11]

Разберитесь сначала откуда надо брать информацию в конечном итоге.


Жаннка   (2006-04-26 14:38:00) [12]

хм...а если это не мое приложение,тогда как


balepa   (2006-04-26 14:35:00) [13]

В приложении с эдитами сделай хотя бы свой обработчик собственных сообщений.


Жаннка   (2006-04-26 14:11:00) [14]

пока из эдитов


balepa   (2006-04-26 14:09:00) [15]


> Жаннка   (26.04.06 13:59) [57]


Так из базы или с эдитов ?


Жаннка   (2006-04-26 13:59:00) [16]

да,мной,но это для того чтоб научиться,дальше надо будет из базы данных нашей фирмы


balepa   (2006-04-26 13:50:00) [17]

А програмка в которой эдиты тобою писана ?


Жаннка   (2006-04-26 13:28:00) [18]

получилось,но пролема в том,что если на форме другого приложения не один edit,то я получаю текст ИЗ ПОСЛЕДНЕГО едита,а мне нужно из конкретного


balepa   (2006-04-26 12:40:00) [19]


> Жаннка   (26.04.06 12:17) [53]


ДЫК WM_GETTEXT

У тебя ж вроде уже получилось ?


Жаннка   (2006-04-26 12:17:00) [20]

дык я поняла что это установить,мне то надо получить, а не установить


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо