Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Edits zurücksetzten


orca - Sa 03.01.04 21:37
Titel: Edits zurücksetzten
Hi!

Ich hab noch eine Anfängerfrage: Ich habe in meinem Programm einen Haufen Edits und ich möchte, daß der Benutzer diese mit einem Klick (z.B. auf einen Button) zurücksetzten, also alle Zeichen darin löschen kann. So, ich hoffe mir kann da jemand helfen! :?

mfg, orca :)


jjturbo - Sa 03.01.04 22:19


Delphi-Quelltext
1:
2:
3:
4:
procedure TMainForm.Button1Click(Sender: TObject);
begin
  Edit1.Clear;
end;


Gruß, jjturbo

Moderiert von user profile iconUGrohne: Delphi-Tags hinzugefügt


orca - So 04.01.04 00:20

Vielen Dank, hat super funktioniert! :)

mfg, orca :)


jaenicke - Mo 05.01.04 14:24
Titel: Nur noch eine Ergänzung
Hallo!

Da Du einen "Haufen" Edits hast, noch eine kleine Ergänzung:

Wenn Du die alle mit Edit1.Clear zurücksetzen willst, brauchst Du ziemlich viel Code. Einfacher geht es in einer Schleife.

Benenne einfach deine Edit-Felder mit Edit1, Edit2, Edit3, usw.

Dann kannst Du in einer Schleife alle so löschen:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
var i: Integer;
begin
  For i:=1 to MAX_EDIT do begin
    TEdit(FindComponent('Edit'+IntToStr(i))).Clear;
  end;
end;


Statt MAX_EDIT musst Du den höchsten Index eingeben, also bei Edit12 zum Beispiel 12.

Erklärung:
Mit FindComponent(name: String) kannst Du eine beliebige Komponente auf deinem Formular finden, die den angegebenen Namen hat. Du bekommst dann aber ein TComponent zurück. Das muss mit TEdit(...) in eine Edit-Feld umgewandelt werden und schon kannst Du das selbe machen wie bei jedem anderen Edit-Feld, das Du direkt angibst.

MfG,
S.J.


orca - Mo 05.01.04 18:08

Danke, ist eine super möglichkeit! 8)

ich beginne euch zu mögen :P

mfg, orca :)