BOUCLE SUR LES COMPOSANTS

Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
-
Messages postés
20
Date d'inscription
mardi 30 août 2005
Statut
Membre
Dernière intervention
8 mai 2010
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/12414-boucle-sur-les-composants

Messages postés
20
Date d'inscription
mardi 30 août 2005
Statut
Membre
Dernière intervention
8 mai 2010

j'ai un programme simple je voudrer supprimer un composant oou cour d'execution du programme
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
Ca ne fera pas une seule ligne de code, au contraire !
Suggestion : utilises plutôt un TControl qu'un TObjet.
Mais tu as raison, chacun son style ou ses préférences. L'essentiel est de bien comprendre ce que l'on fait.
Messages postés
507
Date d'inscription
jeudi 28 mars 2002
Statut
Membre
Dernière intervention
13 mai 2009
1
Ah ok, merci pour l'info... Par contre je peux garder la même méthode et créer une variable

MonObjet : TObject

Aprés c'est une question de préférence et de réutilisation.
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
La méthode employée est discutable dans la mesure où tu affectes une autre valeur au paramètre sender de la méthode Click d'un bouton.
Alors qu'il suffit de faire :
for i := 0 to ComponentCount -1 do
if Components[i] is TCheckBox then
with Component[i] as TCheckBox do
if Checked then
memo1.Lines.Add('La ' + Components[i].Name + ' est cochée')
else
memo1.Lines.Add('La ' + Components[i].Name + ' est décochée');

Pour éviter toute confusion, surtout si ton pote débute : rappelons que Sender est en fait un pointeur (caché, merci Delphi) sur l'objet qui a déclenché l'évènement.
Alors, si tu changes sa destination en cours de route, ça devient confusionnel...