Réutilisation d'objet s TLabel dans une fonction

Résolu
Signaler
Messages postés
7
Date d'inscription
samedi 16 juillet 2005
Statut
Membre
Dernière intervention
28 juillet 2005
-
Messages postés
7
Date d'inscription
samedi 16 juillet 2005
Statut
Membre
Dernière intervention
28 juillet 2005
-
Hello!


Je réalise un programme en Delphi, permettant de faire un ping d'une plage d'adresses IP.
J'ai 254 Labels représentant chaque adresse. Je souhaite que le Label soit en vert si l'adresse est joignable, et en rouge dans l'autre cas.


Actuellement je fais un contrôle de chaque Label et j'attribue la couleur correspondante. Mais vu le nombre de Label, j'aimerais faire une fonction permettant de réutiliser le code.
Pour ce faire, j'utilise une boucle FOR de 1 à 254. Je pense générer le nom du label en utilisant l'index du FOR. Les noms des Labels sont: L1, L2, L3...
J'utiliserais une varaible en la chargeant comme ceci:
NomLabel :='L' + inttostr( i ); i étant l'index du FOR.
Il faudrait alors utiliser le NomLabel comme ceci:
NomLabel.Font.color:=clRed;
Le problème est qu'il faudrait que NomLabel soit de type TLabel. Et quand je le déclare en TLabel, il essaye d'en recréer un au lieu de réutiliser celui existant.


Quelqu'un à une solution ou la bonne méthode??


Merci!

3 réponses

Messages postés
1727
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
6 novembre 2021
8
En gros, j'y reviens, j'ai un peu de temps à tuer, lol, ça pourrait donner un truc comme ça :



procedure TForm1.ColorizeLabel;

const NbrLabels: Integer = 254; // nombre de Labels

var

i: Integer;

ALabel: TLabel;

begin

for i := 1 to NbrLabels do

begin

ALabel := TLabel(FindComponent('L' + IntToStr(i)));

if AdresseJoignable(ALabel) then // ta fonction qui renvoie True ou False

ALabel.Font.Color := clGreen

else

ALabel.Font.Color := clRed;

end;

end;



Bonne prog'



japee
Messages postés
86
Date d'inscription
dimanche 13 février 2005
Statut
Membre
Dernière intervention
3 septembre 2007

pour moi je pense que tu devrais regarder dans le transptypage
et crée un objet a la volée enfin je pense
Messages postés
7
Date d'inscription
samedi 16 juillet 2005
Statut
Membre
Dernière intervention
28 juillet 2005

Génial Japee!

Je ne connaissais pas du tout cette méthode.
On peut dire que ça va changer mon code!

Merci du coup de pouce!

A+