Forme en i pour eviter de nombreuses lignes

Résolu
Valentin_Loupe Messages postés 7 Date d'inscription mardi 25 octobre 2005 Statut Membre Dernière intervention 29 octobre 2006 - 31 mars 2006 à 23:40
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 - 1 avril 2006 à 00:10
Bonjour, je suis débutant en delphi et je voudrais savoir comment je peux faire pour par exemple changer la couleur de 15 panels avec 15 checkbox, mais je voudrais avoir une forme de programmation avec un i, où on dit à l'ordinateur de faire varier i de 1 à 15 et ensuite d'allumer en vert par exemple les panels seulement dont les checkbox sont cochées ! Je veux juste éviter d'avoir a copier 15 fois :
"si checkbox n°1 cochée, alors allumer panel 1!
"si checkbox n°2 cochée, alors allumer panel 2 !
"si checkbox n°3 cochée, alors allumer panel 3 !
etc etc ...
Je vous remercie d'avance !

Valentin

2 réponses

jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
1 avril 2006 à 00:09
salut,

utilises findcompoenent

procedure TForm1.Button1Click(Sender: TObject);

var i:integer;

begin

for i:= 1 to 15 do

begin

if Tcheckbox(findcomponent('checkbox'+inttostr(i))).Checked then

TPanel(findcomponent('Panel'+inttostr(i))).Visible: =true

else

TPanel(findcomponent('Panel'+inttostr(i))).Caption:=false



end;



@+

jlen
3
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
1 avril 2006 à 00:10
petite rectification:

procedure TForm1.Button1Click(Sender: TObject);

var i:integer;

begin

for i:= 1 to 15 do

begin

if Tcheckbox(findcomponent('checkbox'+inttostr(i))).Checked then

TPanel(findcomponent('Panel'+inttostr(i))).Visible: =true

else

TPanel(findcomponent('Panel'+inttostr(i))).Visible:=false



end;



@+

jlen
3
Rejoignez-nous