Boucle sur les composants

Soyez le premier à donner votre avis sur cette source.

Vue 5 937 fois - Téléchargée 437 fois

Description

Bonjour,

J'ai fait cette source pour répondre à un pote qui est un peu plus débutant que moi en Delphi (la source est en Delphi7).

Le problème était : J'ai 25 checkbox. Je voudrais vérifier chacune d'entre elles dans une boucle. Si je rajoute ou j'enlève des checkbox sur la feuille, je ne dois pas modifier mon code en conséquence.

Voila qui est fait. A bientôt.

St@iLeR

Codes Sources

A voir également

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

18 août 2007 à 00:41
j'ai un programme simple je voudrer supprimer un composant oou cour d'execution du programme
cs_Delphiprog
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
15 mars 2003 à 21:36
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.
cs_stailer
Messages postés
507
Date d'inscription
jeudi 28 mars 2002
Statut
Membre
Dernière intervention
13 mai 2009
1
15 mars 2003 à 14:37
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.
cs_Delphiprog
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
15 mars 2003 à 14:16
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...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.