Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Alle TEdit Felder leeren (https://www.delphipraxis.net/133363-alle-tedit-felder-leeren.html)

youuu 30. Apr 2009 11:00


Alle TEdit Felder leeren
 
Hi,

gibt es eine Möglichkeit alle TEdit- Felder in einer Form zu leeren per Schleife, ohne das man extra alles einzeln hin schreiben muss?


Danke.

mkinzler 30. Apr 2009 11:02

Re: Alle TEdit Felder leeren
 
Schleife über Form.Components[] und dann Typ abprüfen

Meflin 30. Apr 2009 11:03

Re: Alle TEdit Felder leeren
 
Delphi-Quellcode:
for i := 0 to ComponentCount - 1 do
    if Components[i] is TEdit then
        (Components[i] as TEdit).Text := '';

himitsu 30. Apr 2009 11:14

Re: Alle TEdit Felder leeren
 
oder
Delphi-Quellcode:
for i := 0 to ComponentCount - 1 do
  if Components[i] is TEdit then
    TEdit(Components[i]).Clear;

youuu 30. Apr 2009 11:24

Re: Alle TEdit Felder leeren
 
Perfekt danke.

youuu 30. Apr 2009 11:30

Re: Alle TEdit Felder leeren
 
Eine Frage noch dazu.

Delphi-Quellcode:
if Components[i] is (TEdit) or (TJvEditor) Then
Begin
  TEdit(Components[i]).Clear;
  TJvEditor(Components[i]).Clear;
End;
ist aber nicht möglich oder? Jedenfalls gibt er mir dann einen Fehler, dass der Operandentyp nicht anwendbar ist.

DeddyH 30. Apr 2009 11:33

Re: Alle TEdit Felder leeren
 
Aber so sollte es gehen:
Delphi-Quellcode:
if Components[i] is TEdit Then
  TEdit(Components[i]).Clear
else if Components[i] is TJvEditor then
  TJvEditor(Components[i]).Clear;

youuu 30. Apr 2009 11:42

Re: Alle TEdit Felder leeren
 
Ja so hatte ich es auch, dachte nur ich kann es etwas verkleinern :)

DeddyH 30. Apr 2009 11:43

Re: Alle TEdit Felder leeren
 
Du könntest evtl. nachschauen, ob beide Komponenten einen gemeinsamen Vorfahren haben, der die Clear-Methode implementiert, und gegen diesen dann casten.

himitsu 30. Apr 2009 11:54

Re: Alle TEdit Felder leeren
 
ist der TJvEditor von TEdit abgeleitet?
wenn ja, dann sollte TJvEdit auch von TEdit gehandelt werden.

oder gleich alle Editcontrols zusammen
(Edit, Memo, RichEdit, JvEdit ..... halt alles was von TCustomEdit abgeleitet ist)
Delphi-Quellcode:
if Components[i] is TCustomEdit Then
  TCustomEdit(Components[i]).Clear;
[edit] tschuldschung deddy, hab dich ganz übersehn :oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:10 Uhr.
Seite 1 von 2  1 2      

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