![]() |
Kann man den KomponentenNamen manipulieren???
Moin,
ich möchte gerne den KomponentenNamen variabel ansprechen. Ich habe 50 Labels mit einer Namenskonvention. Ich möchte gerne zur Laufzeit mit einer For Schleife den Labels einen Text zuweisen. In Excel geht das so z.B.: "Range("A" & <Variable>).Select. Dabei ist "&" der Verbindungsoperator. Aber wie geht das bei Delphi, oder ist es gar nicht möglich?
Delphi-Quellcode:
So funzt dat nicht. Wie mache ich das? Ich hoffe einer kennt die Sache.
z.B.: lbl_1 / lbl_2 / lbl_3 ... lbl_50
... for i:=1 to 50 do lbl_ & i.text := inttostr(i); |
Re: Kann man den KomponentenNamen manipulieren???
Das geht mit
![]() Beispiel:
Delphi-Quellcode:
Dann hast du Zugriff auf dein Label ;)
(FindComponent('lbl_' + IntToStr(i)) as TLabel)
|
Re: Kann man den KomponentenNamen manipulieren???
Eine Möglichkeit wäre sowas:
Delphi-Quellcode:
Die Idee dabei ist alle Controls auf der Form durchzulaufen die zur gleichen "Gruppe" gehören.
var
i, j: Integer; begin j := 0; for i := 0 to ControlCount - 1 do if (Controls[i] is TLabel) and (Controls[i].Tag = 1) then begin inc(j); TLabel(Controls[i]).Caption := IntToStr(j); end; end; Dazu setzt man die Tag-Eigenschaft der Labels im Formular-Designer auf eine gemeinsame Zahl so daß eventuell andere Labels, die einen nicht interessieren, ausgeschlossen werden können. Der Test
Delphi-Quellcode:
sichert zu, daß man nur Labels betrachtet.
Controls[i] is TLabel
|
Re: Kann man den KomponentenNamen manipulieren???
Danke für eure Hilfe.
hab alles hinbekommen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:22 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