Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Anfängerproblem... mehrere Komponenten gleichzeitig ändern


Wombat23 - So 04.01.04 16:48
Titel: Anfängerproblem... mehrere Komponenten gleichzeitig ändern
Hi Leute,
sitze gerade über meinem zweiten größeren Programm. Ich habe ein Formular, in dem 20 Edits (Edit1..Edit20) vorhanden sind, deren Text ich im Programmablauf bei allen gleichzeitig auf '0,00' setzen möchte.
Gibt es dafür eine elegantere Methode als 'edit1 :=0',00' bis edit10:= '0,00' per Hand einzugeben, z.B. per Schleife ? Ich krieg den Komponentennamen nicht in eine Variable rein :(
Danke schonmal !


Christian S. - So 04.01.04 16:51

Hallo!

Da arbeitest Du am besten mit "FindComponent". Geht dann z.B. so:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
VAR i : Integer;
    myComponent : TComponent;
begin
  for i:=1 TO 20 DO
  begin
    myComponent := FindComponent('edit'+IntToStr(i));
    
    if myComponent is TEdit then
      TEdit(myComponent).Text := '0,00';
  end;
end;


MfG
Peter


GSE - So 04.01.04 16:53

Gruß,

1. Und hier die kürzere Variante

Delphi-Quelltext
1:
2:
for i := 1 to 20 do 
TEdit(FindComponent('Edit'+inttostr(i))).text := '0,00';

2. :welcome: im DF
3. Versuchs nächstes Mal bitte erstmal mit der Suchfunktion

mfg
GSE


Christian S. - So 04.01.04 16:55

@GSE:
Schon klar, dass es auch so geht, aber ich wollte noch die "Sicherheitsabfrage" drin haben.


Wombat23 - So 04.01.04 16:55

Danke für die schnelle Antwort !