Creer un tableau de procedures ,possible ??

Signaler
Messages postés
22
Date d'inscription
vendredi 7 mars 2003
Statut
Membre
Dernière intervention
18 mars 2010
-
Messages postés
49
Date d'inscription
mardi 26 avril 2005
Statut
Membre
Dernière intervention
31 août 2008
-
bonjour,

tt d abord j adore bcp ce forum

on y trouve ts les scripts qu on veut.enfin presque..



voila j ai ecris un programme

permettant de creer en dynamique des boutons

je souhaiterai affecter au clic de chacun d entre eux une procedure distincte

serait il possible pointer vers un element d un tableau de procedures ?

rayman

5 réponses

Messages postés
1023
Date d'inscription
dimanche 1 août 2004
Statut
Membre
Dernière intervention
17 août 2008
2
Salut,

Tu peux creer un tableau dynamique de procedures comme ceci:



var

MonTableau: array of TNotifyEvent; // TNotifyEvent = procedure (Sender: TObject) of object : Le type-procédure des evenements OnClick des boutons.



Ensuite tu le redimentionne normalement avec SetLength().

Il faut que tes procedures soient déjà écrites avant la compilation (donc leur nombre n'est pas variable).

Tu assignes les porcédures comme cela:



MonTableau[0] : = Button1Click; // ou Button1.OnClick;



et ensuite tu peux t'en servir:



ButtonX.OnClick := MonTableau[0];



Mais je te conseille de jouer avec le parametre Sender plutôt
que d'utiliser un tableau dynamiques de procedures, c'est plus simple
et plus "correct".



Bonne chance.

@ ++

Florent



PS: Je pars deux semaines (dans une contrée lointaine sans ordi ...) donc je ne pourrais pas répondre aux futurs messages.



Si tu ne te plantes pas ......
tu ne poussera jamais
Messages postés
106
Date d'inscription
mardi 18 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2007

Comme l'a si bien dit florenth, il est bien plus pratique de jouer avec Sender que de t'embêtter avec des tableaux par ci, par lá...
Messages postés
22
Date d'inscription
vendredi 7 mars 2003
Statut
Membre
Dernière intervention
18 mars 2010

merci pour ta reponse rapide.

je l essaye de suite pour voir...

Nicolas
Messages postés
49
Date d'inscription
mardi 26 avril 2005
Statut
Membre
Dernière intervention
31 août 2008

Salut Pourquoi Ce grand travail avec un tableau ....
Il suffit une seule procedure Avec Un parametre TObject (Sender parexemple)
Et ensuite ecrit plusieurs code a chaque button ET fait

With (Sender as TButton) Do
Case Name {Ou Caption} Do
//....Ici Pour chaqun de tes buttons Ecris Son code approprie
//....Exemple par leur Name
'Button1':Begin {code pour Button1} End;
'Button2':Begin {code pour Button2} End;
//..... etc}
End;
Et a chaque button Onclick:=Tonprocedure
{Exemple Procedure Clic(Sender:TObject)}
Messages postés
49
Date d'inscription
mardi 26 avril 2005
Statut
Membre
Dernière intervention
31 août 2008

Merci pour ton conseil J pas fais attention
Donc Fais le avec le Tag De button
Merci Ami ...