Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Alle Komponenten gleichen Typ's ansprechen
Delete - Mo 14.11.05 16:22
Titel: Alle Komponenten gleichen Typ's ansprechen
Hallo,
ich habe mal wieder ein Problem. Wie kann ich bei allen Komponenten gleichen Typ's zur Laufzeit eine Eigenschaft verändern.
Genauer: Ich habe einige TDBEdit Komponenten auf meinem Form und möchte zur Laufzeit überall den Text auf den gleichen Eintrag setzen. Bisher habe ich immer nach der Methode
DBEdit1.Text:='blabla';
DBEdit2.Text:='blabla'; gearbeitet. Es muss doch aber eine Möglichkeit geben mit der ich alle TDBEdits den gleichen Text zuweisen kann.
Danke schon mal
MSCH - Mo 14.11.05 16:26
schau dir mal die Funktionen ComponentCount() und den Operator IS an. Dort findest du das gesuchte.
grez
msch
Grendel - Mo 14.11.05 16:28
Ganz einfach!
Du durchläuft die "Components" des Formulars auf dem du die Komponenten liegen hast und prüfst auf den Typ. Ist der Typ der gewünschte einfach die entsprechende Eigenschaft manipulieren.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| var i: Integer: begin for i := 0 to self.ComponentCount - 1 do begin if (Components[i] is TDBEdit) then TDBEdit(Components[i]).Text := 'blablub'; end; end; |
Bis neulich ...
chrisw - Mo 14.11.05 16:29
Delphi-Quelltext
1: 2:
| for i := 0 to ControlCount -1 do if Controls[i] is TDBEdit then (Controls[i] as TDBEdit).Text := 'blablabla'; |
Delete - Mo 14.11.05 16:40
Danke schön
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!