![]() |
Vereinfachen - gleicher Befehl, andere Komponente!
Hi!
Hab mal ne Frage! Ich möchte ca. 30 Labels gleichzeitig sichtbar machen! Muss ich dann den Befehl 30 mal eingeben? Also Bsp: LabelB1.Visible := true; LabelB2.Visible := true; ... LabelB30.Visible := true; Oder geht das auch anders? Wenn ja wie? |
das kannst du am besten mit einer For-Schleife machen (for i:= to 29 do....)[/delphi]
|
An eine For-Schleife hab ich auch schon gedacht. Ich hab nur keine Ahnung, wie ich dann den Befehl in der Schleife schreiben soll
for i := 1 to 29 do ??? |
Hallo,
also ... wenn Deine Labels die Namen "LabelB1" bis "LabelB30" tragen, würde ich auch eine Schleife bis 30 vorschlagen. :wink: Du kannst dafür die Methode "FindComponent" nutzen. Diese gestattet es, Komponenten über ihren Namen anzusprechen:
Delphi-Quellcode:
Allerdings musst Du aufpassen, keines der Labels zu Löschen, ohne die Schleife anzupassen, da es sehr hässliche Laufzeit-Fehlermeldungen gibt, wenn eines der Labels nicht gefunden werden konnte. Zusätzlich könntest Du einen TRY .. EXCEPT - Block einsetzen. Dies wäre mit Sicherheit von Vorteil.
For index:= 1 To 30 Do
Begin TLabel( FindComponent('LabelB'+IntToStr(index)) ).Visible:= TRUE; End; |
Delphi-Quellcode:
Suche im Forum mal nach FindComponent. Es gibt viele Beispiele dafür.
for I := 0 to 29 do
TLabel(FindComponent('LabelB' + IntToStr(I))).Visible := True; ...:cat:... |
Moin Fedderle,
erst einmal herzlich willkommen. Um Dein Problem lösen zu können, kannst Du mal hier im Forum nach FindComponent suchen. Dann solltest Du einige Fundstellen haben, die Dich bei dieserm Problem weiterbringen. (wenn ich nicht irre sogar mit kompletter Lösung). [EDIT]Mist, zu spät :mrgreen:[/EDIT] |
Rekord: 3 auf einmal!!! :lol:
Besser ist es allerdings (soweit habe ich das mitbekommen), wenn man statt
Delphi-Quellcode:
folgendes nimmt:
TLabel( {...} )
Delphi-Quellcode:
Chris
( FindComponent( {...} ) as TLabel)
|
Moin!
Danke! Funktioniert super mit FindComponent. :dancer: Thanx :dancer: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:44 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