Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Code verkürzen (Clear bei mehreren Edits) (https://www.delphipraxis.net/133406-code-verkuerzen-clear-bei-mehreren-edits.html)

Hagbart 1. Mai 2009 12:06


Code verkürzen (Clear bei mehreren Edits)
 
halllo,

Erstma Sorry für den Sche.. Titel, aber wusste nicht wie ich das sonst beschreiben sollte. Aber jetzt zum eigentlichen Problem (dabei ist es ja gar kein Problem )
Ich hab mir so eben die Frage gestellt, ob man diesen Code nicht einfacher bzw. kürzer fassen kann (ich finde es sieht irgendwie unprofessionell aus :roll: ). Ich denke dabei an soetwas wie eine Schleife, aber logischer weiße kann man nicht einfach
Delphi-Quellcode:
 Edit + variable + .Clear;
machen.

Delphi-Quellcode:
procedure TForm2.Button2Click(Sender: TObject);
begin
  Edit2.Clear;
  Edit3.Clear;
  Edit4.Clear;
  Edit5.Clear;
  Edit6.Clear;
  Edit7.Clear;
  Edit8.Clear;
  Edit9.Clear;
  Edit10.Clear;
  Edit11.Clear;
  Edit12.Clear;
  Edit13.Clear;
  Edit14.Clear;
end;

youuu 1. Mai 2009 12:08

Re: Code verkürzen (Clear bei mehreren Edits)
 
Delphi-Quellcode:
for i := 0 to ComponentCount - 1 do
  if Components[i] is TEdit then
    TEdit(Components[i]).Clear;
Sollte funktionieren, wenn du alle Edit Felder löschen möchtest in deiner TForm.
Oder geht es wirklich nur um die genannten?

Hansa 1. Mai 2009 12:13

Re: Code verkürzen (Clear bei mehreren Edits)
 
Zuerst : ComponentCount <F1>

Prinzip ist so :

Delphi-Quellcode:
if (MeineKomponente is TEdit) then
  (MeineKomponente as TEdit).Clear;
Uff, fast schon zu spät. :shock: Trotzdem genau gucken : meine Zeilen sind etwas anders wegen dem "as".

Cyf 1. Mai 2009 12:20

Re: Code verkürzen (Clear bei mehreren Edits)
 
Zitat:

Zitat von Hansa
Zuerst : ComponentCount <F1>

Prinzip ist so :

Delphi-Quellcode:
if (MeineKomponente is TEdit) then
  (MeineKomponente as TEdit).Clear;
Uff, fast schon zu spät. :shock: Trotzdem genau gucken : meine Zeilen sind etwas anders wegen dem "as".

Dann kann man sich das as schenken.

Delphi-Quellcode:
TForm.FindChildControl
TForm.FindComponent
Aber alle Edits in eine TObjectList stecken und die durchlaufen wäre imho deutlich eleganter.

DeddyH 1. Mai 2009 12:21

Re: Code verkürzen (Clear bei mehreren Edits)
 
Zitat:

Zitat von Hansa
Zuerst : ComponentCount <F1>

Prinzip ist so :

Delphi-Quellcode:
if (MeineKomponente is TEdit) then
  (MeineKomponente as TEdit).Clear;
Uff, fast schon zu spät. :shock: Trotzdem genau gucken : meine Zeilen sind etwas anders wegen dem "as".

Das spielt hier aber keine Rolle, da der Typ ja direkt vorher erst ermittelt wird.

mkinzler 1. Mai 2009 12:22

Re: Code verkürzen (Clear bei mehreren Edits)
 
Zitat:

Dann kann man sich das as schenken.

Delphi-Quellcode:
TForm.FindChildControl
TForm.FindComponent

Nicht unbedingt, denn auch eine andere Komponente könnte Edit1 o.ä. heissen, aber kein TEdit sein.

DeddyH 1. Mai 2009 12:24

Re: Code verkürzen (Clear bei mehreren Edits)
 
Wieso, is ermittelt doch den Typ.

mkinzler 1. Mai 2009 12:25

Re: Code verkürzen (Clear bei mehreren Edits)
 
War als Antwort für Cyf gedacht (hat sich mit deiner Antwort überschnitten)

DeddyH 1. Mai 2009 12:27

Re: Code verkürzen (Clear bei mehreren Edits)
 
Achso, sry, mein Fehler :oops:

Cyf 1. Mai 2009 12:27

Re: Code verkürzen (Clear bei mehreren Edits)
 
Zitat:

Zitat von mkinzler
War als Antwort für Cyf gedacht (hat sich mit deiner Antwort überschnitten)

:gruebel: Dachte eigentlich auch


Zitat:

Zitat von DeddyH
Wieso, is ermittelt doch den Typ.

[Edit]Ok, war vielleicht oben ungünstig untereinander gesetzt. :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:18 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