objets et les boucles

objets et les boucles - Delphi/Pascal - Programmation

Marsh Posté le 04-03-2005 à 13:12:46    

          bonjour à tous
 
j'ai par exemple à ma disposition plusieurs labels, nommés respectivement label1,label2-------labeln
 
 
Je voudrai appliquer la même opération sur tous les labels
Pour cela une boucle s'impose mais quelque chose comme

for i:=1 to 10 do  
  begin
label+intTostr(i).visible=false;  de mm pour 'label'+intostr(i)...
  end;

ne fonctionne pas.
 
Je voudrai donc vous demander si il est possible d'appliquer des boucles sur les objets.
Si oui qu'elle est la méthode ?
 
merci d'avance.

Reply

Marsh Posté le 04-03-2005 à 13:12:46   

Reply

Marsh Posté le 04-03-2005 à 16:28:13    

Deux solutions
La plus facile à première vue, mais la moins performante et la moins évolutive (si le nom du compo change pas d'erreur à la compil, donc dangereux) :
 

var
  L: TLabel;
  i: Integer;
begin
  for i := 1 to 10 do
  begin
    L := TLabel(FindComponent('Label' + IntToStr(i)));
    L.Visible := False;
  end;
end;


 
L'autre c'est, si tu dois souvent accéder à tes labels, de créer un array de tes labels :
 
Tu déclares un

FLabels: array [1..10] of TLabel


Dans le OnCreate de la Form tu mets :

FLabels[1] := Label1;
FLabels[2] := Label2;
etc. jusqu'à 10


 
ensuite tu accèdes à FLabels[i] avec ton i dans la boucle


Message édité par antp le 04-03-2005 à 16:28:40

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed