1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| { // 1re version : on clique ça crée un panneau
SetLength(Tableau, Length(Tableau)+1);
ShowMessage(inttostr(High(Tableau))); // "0" au 1er clic, "1" au suivant, etc.
Tableau[High(Tableau)] := TPanelex.Create(Panel2);
Tableau[High(Tableau)].CreationPanneaux(Panel2, Length(Tableau));
Caption := inttostr(Length(Tableau)); }
// 2nde version : on clique ça demande combien de panneaux
sNumber := '1';
if InputQuery('Titre', 'Nombre de panneaux à créer : ', sNumber) then
if TryStrToInt(sNumber, iNumber) then
{// for i := 0 to iNumber-1 do begin
for i := iNumber-1 downto 0 do begin
SetLength(Tableau, Length(Tableau)+1);
Tableau[iNumber-i-1] := TPanelex.Create(Panel2);
Tableau[iNumber-i-1].CreationPanneaux(Panel2, Length(Tableau));
end;
// affichage à l'envers
}
{ // autre essai en inversant le comptage : affichage toujours à l'envers
// SetLength(Tableau, Length(Tableau)+iNumber);
for i := iNumber-1 downto 0 do begin
//for i := 0 to iNumber-1 do begin
SetLength(Tableau, Length(Tableau)+1);
//ShowMessage(inttostr(High(Tableau))); // 0 si 1 saisi, 1 si 2, 2 si 3, etc.
Tableau[iNumber-1-i] := TPanelex.Create(Panel2);
Tableau[iNumber-1-i].CreationPanneaux(Panel2, Length(Tableau));
// Tableau[i] := TPanelex.Create(Panel2);
// Tableau[i].CreationPanneaux(Panel2, Length(Tableau));
end;
}
// dernier essai en inversant le comptage et la dimension du tableau :
// avec 1 ça fonctionne, avec 3 --> "duplicate name"
SetLength(Tableau, Length(Tableau)+iNumber);
for i := iNumber-1 downto 0 do begin
ShowMessage(inttostr(High(Tableau))); // 0 si 1 saisi, 1 si 2, 2 si 3, etc.
Tableau[iNumber-1-i] := TPanelex.Create(Panel2);
Tableau[iNumber-1-i].CreationPanneaux(Panel2, Length(Tableau));
end;
Caption := inttostr(Length(Tableau));
end; |
Partager