Bonjour,
J'ai une petite question en delphi, je suppose que ce doit pas être très compliqué mais je ne sais pas comment faire et ca pourrait réduire la taille de mon programme !
Voila par exemple dans un boucle,
Je dois faire
StringGrid2.Cells[a,0] := ...
StringGrid3.Cells[a,0] := ...
StringGrid4.Cells[a,0] := ...
StringGrid5.Cells[a,0] := ...
StringGrid6.Cells[a,0] := ...
Et je cherche le moyen de nommé les composant dans la boucle par exemple
For i:=2 to 6 do
begin
StringGrid[i].Cells[a,0] := ...
end;
Or je sais que le [i] n'est pas bon (StringGrid[i].Cells[a,0] := ...)
Une solution serait d'utiliser FindComponent pour lister tes StringGrid :
For i:=0 to Form1.ComponentCount-1 do
begin
if (Form1.Components[i] is TStringGrid) then
begin
TStringGrid(Form1.Components[i]).Cells[a,0] := ...
end ;
end;
Cordialement.
<hr />"L'imbécile prétentieux est celui qui se croit plus intelligent que ceux qui sont aussi bêtes que lui"/STRONG>
si tu dois faire des acces frequent, une autre solution plus efficace qu'une recherche serrait d'avoir un tableau de TStringGrid.
genre
MesStringGrid : array[0..6] of TStringGrid;
et soit tu les crée dynamiquement (fait des recherch sur la création de composant dynamique),
soit tu init le tableau dans le form create (le plus simple pour toi je supose).
for i:=low(MesStringGrid ) to high(MesStringGrid ) do begin
MesStringGrid[i].Xxx
end;
en esperant t'avoir aider,
Loda
PS: au cas ou cela ne serrait pas clair pour toi, tu n'as pas besoin de detruire le tableau dans le form destroy.
<hr size="2" width="100%" />Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.