![]() |
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. |
Re: Alle TEdit Felder leeren
Schleife über Form.Components[] und dann Typ abprüfen
|
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 := ''; |
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; |
Re: Alle TEdit Felder leeren
Perfekt danke.
|
Re: Alle TEdit Felder leeren
Eine Frage noch dazu.
Delphi-Quellcode:
ist aber nicht möglich oder? Jedenfalls gibt er mir dann einen Fehler, dass der Operandentyp nicht anwendbar ist.
if Components[i] is (TEdit) or (TJvEditor) Then
Begin TEdit(Components[i]).Clear; TJvEditor(Components[i]).Clear; End; |
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; |
Re: Alle TEdit Felder leeren
Ja so hatte ich es auch, dachte nur ich kann es etwas verkleinern :)
|
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.
|
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:
[edit] tschuldschung deddy, hab dich ganz übersehn :oops:
if Components[i] is TCustomEdit Then
TCustomEdit(Components[i]).Clear; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 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