Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Mehrere Komponenten gleichzeitig ansprechen ? (https://www.delphipraxis.net/97850-mehrere-komponenten-gleichzeitig-ansprechen.html)

newuser01 17. Aug 2007 10:35


Mehrere Komponenten gleichzeitig ansprechen ?
 
Hallo

folgendes soll erreicht werden

Delphi-Quellcode:

CheckBox1.Visible := true;
CheckBox2.Visible := true;
CheckBox3.Visible := true;
CheckBox4.Visible := true;
CheckBox5.Visible := true;
CheckBox6.Visible := true;
CheckBox7.Visible := true;
CheckBox8.Visible := true;
CheckBox9.Visible := true;
CheckBox10.Visible := true;
ist es möglich nicht jede CheckBox einzeln anzusprechen sondern vielleicht CheckBox1 bis CheckBox10 Visible := true oder so

mkinzler 17. Aug 2007 10:37

Re: Mehrere Komponenten gleichzeitig ansprechen ?
 
Such mal nach FindComponent

sirius 17. Aug 2007 10:39

Re: Mehrere Komponenten gleichzeitig ansprechen ?
 
Du kannst mit einer For-Schleife und "Findcomponent" arbeiten. Du kannst ein array of checkbox machen. Du kannst dir deine eigene Klasse darumbasteln, etc. pp. Das sieht vielleicht alles etwas schicker in Pascal aus als jetzt. Allerdings wird der Code dadurch i.A. langsamer.

newuser01 17. Aug 2007 10:45

Re: Mehrere Komponenten gleichzeitig ansprechen ?
 
ok thx werde mal nach FindComponent schauen und testen falls ich dann noch fragen habe oder damit nicht zurechtkomme meld ich mich noch mal :-D

Joe_the_Junkie 17. Aug 2007 11:00

Re: Mehrere Komponenten gleichzeitig ansprechen ?
 
Also als Queltext müsste es dann so aussehen:

Delphi-Quellcode:
for i := 1 to 10 do
     begin
        TCheckbox(findcomponent('Checkbox' + inttostr(i))).Visible := true;
     end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:09 Uhr.

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