Entwickler-Ecke
Windows API - Edit-Abfrage ohne VCL
florida - Do 12.05.11 18:30
Titel: Edit-Abfrage ohne VCL
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 - Do 12.05.11 18:33
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| int GetWindowText(
HWND hWnd, LPTSTR lpString, int nMaxCount ); |
florida - 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 - 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 - Do 12.05.11 20:41
florida hat folgendes geschrieben : |
... funktioniert die if-Schleife nicht. |
Wo siehst du da eine Schleife?
http://if-schleife.de/
FrEaKY - Do 12.05.11 23:40
:lol:
Dafür mietet extra jemand eine Domain. Muss ja ein beliebter Fehler sein :shock:
jaenicke - Do 12.05.11 23:45
FrEaKY hat folgendes geschrieben : |
Dafür mietet extra jemand eine Domain. Muss ja ein beliebter Fehler sein :shock: |
Ja, leider wissen offenbar relativ viele Programmieranfänger auch nach einer Weile programmieren nicht was eine Schleife ist. :nixweiss:
Bei den Preisen für eine Domain stört so eine zusätzliche Domain wenig, ich habe auch mehrere Domains. ;-)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!