Creer un tableau de procedures ,possible ??

rayssec Messages postés 22 Date d'inscription vendredi 7 mars 2003 Statut Membre Dernière intervention 18 mars 2010 - 9 juil. 2005 à 11:51
walid2876 Messages postés 49 Date d'inscription mardi 26 avril 2005 Statut Membre Dernière intervention 31 août 2008 - 13 juil. 2005 à 22:38
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

florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 2
9 juil. 2005 à 12:57
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
0
taye78 Messages postés 106 Date d'inscription mardi 18 juin 2002 Statut Membre Dernière intervention 13 janvier 2007
9 juil. 2005 à 15:47
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á...
0
rayssec Messages postés 22 Date d'inscription vendredi 7 mars 2003 Statut Membre Dernière intervention 18 mars 2010
9 juil. 2005 à 16:00
merci pour ta reponse rapide.

je l essaye de suite pour voir...

Nicolas
0
walid2876 Messages postés 49 Date d'inscription mardi 26 avril 2005 Statut Membre Dernière intervention 31 août 2008
13 juil. 2005 à 22:19
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)}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
walid2876 Messages postés 49 Date d'inscription mardi 26 avril 2005 Statut Membre Dernière intervention 31 août 2008
13 juil. 2005 à 22:38
Merci pour ton conseil J pas fais attention
Donc Fais le avec le Tag De button
Merci Ami ...
0