Bonsoir
Je dispose sur une feuille de quelques dizaines de checkbox dont la validation ou la "devalidation" génére ou efface une expression dans un RichEdit.
Ce qui me donne pour chaque CheckBox :
(AjouteLigneNoire et EffacerLigne etant 2 procedures annexes)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 procedure TForm1.CheckBox1Click(Sender: TObject); begin if CheckBox1.Checked=true then AjouteLigneNoire('mon expression1', OMC_REdit) else EffacerLigne('mon expression1',OMC_REdit); end;
Cela me fait quelques centaines de lignes de codes pour pas grand chose me semble t il. Avec un peu de reflexion (ca peut servir) je pense aux tableaux , je trouve cela plus élégant, tout content je passe donc à :
Dans la procedure OnCreate j'affecte mes valeurs dans les tableaux :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Expression : array [1..95] of String; OMC_Check : : array [1..95] of TCheckbox;
je commence donc
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Expression[1] := 'mon expression1'; .... Expression[95] := 'mon expression95'; OMC_Check[1] := CheckBox1; .... OMC_check[95] := CheckBox95;
et la j'ai un grand moment de solitude comment passer l'indice a ma procedure si j'affecte cette procedure a l'evenement Onclick de chaque CheckBox.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Procedure Tform1.OMC_Click(i : integer ? ) begin if OMC_Check[i].Checked=true then AjouteLigneNoire(Expression[i], OMC_REdit) else EffacerLigne(Expression[i],OMC_REdit); end;
le seul moyen auquel je pense serai de faire pour chaque checkbox :
soit a nouveau 95 procedures donc mon idée de tableau partirai a la pubelle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 procedure TForm1.CheckBox1Click(Sender: TObject); begin OMC_Click(1); end;
Quelqu'un aurait une idée, une piste pour m'aider a poursuivre dans cette voie ?
Par avance merci
Cordialement
Partager