Autor |
Beitrag |
florida
      
Beiträge: 137
Windows 7 Home Premium, Windows XP Professional, Windows 2000
Delphi 2010 Architect
|
Verfasst: Do 12.05.11 18:30
Bei der VCL ist es das "leichteste" auf der Welt, eine Edit-Abfrage zumachen.
Delphi-Quelltext 1: 2: 3: 4:
| if Edit1.Text='Probe' begin ... end; |
Wie kann ich so eine Schleife eigentlich ohne VCL, sondern mit dem reinen Windows SDK realisieren?
|
|
FrEaKY
      
Beiträge: 235
D7
|
Verfasst: Do 12.05.11 18:33
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| int GetWindowText(
HWND hWnd, LPTSTR lpString, int nMaxCount ); |
|
|
florida 
      
Beiträge: 137
Windows 7 Home Premium, Windows XP Professional, Windows 2000
Delphi 2010 Architect
|
Verfasst: Do 12.05.11 18:46
Soweit bin ich auch schon gekommen, aber wie kann ich einen Text vergleichen?
Wenn ich sage:
Delphi-Quelltext 1: 2: 3: 4:
| if buffer = "Probe" begin ... end; |
... funktioniert die if-Schleife nicht.
Hier habe ich mal ein kleines C++-Beispiel (funktioniert genauso wenig):
Quelltext 1: 2: 3: 4: 5:
| char *buffer = new char[Edit_GetTextLength(Edit1->Handle) + 1]; SendMessage(Edit1->Handle, WM_GETTEXT, 64, (long)buffer); if (buffer == "Edit1") { MessageBox(Handle, buffer, buffer, 0); } |
|
|
FrEaKY
      
Beiträge: 235
D7
|
Verfasst: Do 12.05.11 19:24
Z.B. so:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| var p: PChar; i: integer; begin i := GetWindowTextLength(Edit1.Handle)+1; GetMem(p, i); GetWindowText(Edit1.handle, p, i); if p='Probe' then ShowMessage(p); FreeMem(p, i); |
Edit:
So kannst du es auch machen:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| var s: string; i: integer; begin i := GetWindowTextLength(Edit1.Handle); SetLength(s, i); GetWindowText(Edit1.handle, PChar(s), i+1); if s = 'Probe' then ShowMessage(s); |
Ist vielleucht bequemer ohne PChars.
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Do 12.05.11 20:41
florida hat folgendes geschrieben : | ... funktioniert die if-Schleife nicht. |
Wo siehst du da eine Schleife?
if-schleife.de/
|
|
FrEaKY
      
Beiträge: 235
D7
|
Verfasst: Do 12.05.11 23:40
Dafür mietet extra jemand eine Domain. Muss ja ein beliebter Fehler sein 
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Do 12.05.11 23:45
|
|
|