Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Was bedeutet dieses Function? (https://www.delphipraxis.net/63069-bedeutet-dieses-function.html)

PeterKiers 13. Feb 2006 17:06


Was bedeutet dieses Function?
 
Hallo,

Was bedeutet dieses Function?

Code:
function PRVGetChildHandle(H:HWND; L: Integer): LongBool;
var p:pchar;
I:integer;
s:string;
begin
I:=length(ChildText)+2;
GetMem(p,i+1);
SendMessage(H,WM_GetText,i,integer(p));
s:=strpcopy(p,s);
if pos(ChildText,s)<>0 then
begin
HTemp:=H;
Result:=False
end else
Result:=True;
FreeMem(p);
end;
peter kiers
_________________

tommie-lie 13. Feb 2006 17:19

Re: Was bedeutet dieses Function?
 
Funktion in schön und kommentiert:
Delphi-Quellcode:
function PRVGetChildHandle(H:HWND; L: Integer): LongBool; // Handle und Integer rein
var
  p:pchar;
  I:integer;
  s:string;
begin
  I:=length(ChildText)+2; // Länge von ChildText (globale Variable/Konstante. Typ: String)
  GetMem(p,i+1); // Speicher holen
  SendMessage(H,WM_GetText,i,integer(p)); // Text aus dem Fenster mit dem Handle holen, das wir gekriegt haben
  s:=strpcopy(p,s); // den Text in einen Pascal-String kopieren
  if pos(ChildText,s)<>0 then // schauen, ob ChildText irgendwo in dem Text des Fensters vorkommt
  begin
    HTemp:=H;     // wenn ja, globale Variable HTemp auf das gleiche Handle setzen
    Result:=False // False zurückliefern
  end
  else
    Result:=True; // falls nö, True zurückliefern
  FreeMem(p);
end;
Die Funktion vergleicht also den Text eines Fensters (z.B. die Caption eines Buttons) mit ChildText, und wenn der String enthalten ist, wird false zurückgeliefert und das Handle des Fensters in HTemp geschrieben.

PeterKiers 13. Feb 2006 17:24

Re: Was bedeutet dieses Function?
 
Danke.

P.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz