Page 1 sur 1
Appel d'une procedure dynamiquement
Publié : mer. 30/juil./2008 13:25
par Kwai chang caine
Bonjour à tous
J'suis comme un fou, j'me rappelle plus si ça existe
Il me semble que j'en ai déja parlé, mais je crois que c'estait pour VB
Je voudrais savoir si on peux appeller une procedure par une variable.
Y'a peut etre quelque chose à faire avec les macros
Code : Tout sélectionner
Procedure PremiereDaubeAKcc(ParametreQuiSertAFifre.s)
MessageRequester("Premiere boite à KCC", ParametreQuiSertAFifre.s)
EndProcedure
Procedure SecondeDaubeAKcc(ParametreQuiSertAFifre.s)
MessageRequester("Deuxieme boite à KCC", ParametreQuiSertAFifre.s)
EndProcedure
Selection.s = "Premiere"
Selection + "DaubeAKcc"("Coucou ça marche pour la boite 1")
Selection.s = "Seconde"
Selection + "DaubeAKcc"("Coucou ça marche pour la boite 2")
Merci de votre aide
Bonne journée
Publié : mer. 30/juil./2008 14:06
par Anonyme
Code : Tout sélectionner
Macro AppelDaube(AA,BB)
AA#DaubeAKcc(BB)
EndMacro
AppelDaube(Premiere,"Coucou ça marche pour la boite 1")
AppelDaube(Seconde,"Coucou ça marche pour la boite 2")
Publié : mer. 30/juil./2008 14:25
par Kwai chang caine
Bonjour CPL
Merci de ta reponse, mais j'ai une erreur quand je lance le code
Ou me suis-je encore coincé les c.....?

Publié : mer. 30/juil./2008 14:26
par Anonyme
Rajoute tes procédures couille de loup

Publié : mer. 30/juil./2008 14:35
par Kwai chang caine
LA chanson c'est "coeur de loup " pas "couille de loup"
Tu me ferais un pietre DJ
J'ai honte, j'sais meme pas ou tu veux que je les rajoutes

Publié : mer. 30/juil./2008 14:38
par Kwai chang caine
AAAaaaaYYYYAIIIHH !!!
T'es trop une bete
Un loup de la prog quoi
Mon genial cerveau mononeuronique a enfn percuté.
ça marche
Je t'aime
Merci beaucoup mon CPL ange gardien des premiers jours
Code : Tout sélectionner
Macro AppelDaube(AA,BB)
AA#DaubeAKcc(BB)
EndMacro
Procedure PremiereDaubeAKcc(ParametreQuiSertAFifre.s)
MessageRequester("Premiere boite à KCC", ParametreQuiSertAFifre.s)
EndProcedure
Procedure SecondeDaubeAKcc(ParametreQuiSertAFifre.s)
MessageRequester("Deuxieme boite à KCC", ParametreQuiSertAFifre.s)
EndProcedure
AppelDaube(Premiere,"Coucou ça marche pour la boite 1")
Publié : mer. 30/juil./2008 14:41
par Kwai chang caine
J'te rassure, je ne suis pas devenu bon.
J'ai rien compris a ton code, mais il est genial
Faut que je me penche dessus
Encore mille merci
Je me permet de le mettre sur le forum US en ton nom, ça peut servir au copains, en plus y'en a qu'on dit que c'etait pas possible

Publié : mer. 30/juil./2008 14:54
par Anonyme
bah , c'est juste une macro
Macro AppelDaube(AA,BB)
AA#DaubeAKcc(BB)
EndMacro
AA# est remplacer par ce que tu passe en param à la macro , BB c'est le string , c'est puissant les macros

Publié : mer. 30/juil./2008 15:02
par Kwai chang caine
Je savais que les macros c'etais fort....mais seulement ceux en boite
Mais alors la ça m'epate, c'est le "juste" qui est de trop
J'avais posé la question de l'autre coté de la mer et FREAK m'a donné une combine avec une autre methode encore plus courte et plus dure a comprendre
Je la met si ça peux servir à quelqu'un sur le forum
Code : Tout sélectionner
Procedure FirstKcc(Parameter.s)
MessageRequester("First box at KCC", Parameter)
EndProcedure
Procedure SecondKcc(Parameter.s)
MessageRequester("Second box at KCC", Parameter)
EndProcedure
Prototype Kcc(Parameter.s)
Selection.Kcc = @FirstKcc()
Selection("Hello, that works fine on box 1")
Selection.Kcc = @SecondKcc()
Selection("Hello, that works fine on box 2")
Publié : jeu. 31/juil./2008 11:28
par Kwai chang caine
J'ai fait ce code avec l'aide du forum US
Voila exactement ce que je voudrais faire, mais en "plusse" pro
Code : Tout sélectionner
Procedure FirstKcc(Parameter.s)
MessageRequester("First box at KCC", Parameter)
EndProcedure
Procedure SecondKcc(Parameter.s)
MessageRequester("Second box at KCC", Parameter)
EndProcedure
Procedure LaunchProcedure(ProcedureToRun.s, Parameter.s)
Select ProcedureToRun
Case "FirstKcc"
firstkcc(Parameter)
Case "SecondKcc"
Secondkcc(Parameter)
EndSelect
EndProcedure
LaunchProcedure("FirstKcc", "Hello, that works fine on box 2")
LaunchProcedure("SecondKcc", "Hello, that works fine on box 1")
Le bleme c'est que l'on est obligé d'entrer chaque procedure dans le select case.
ça serait genial si on pouvait appeller les procedures directement par leur adresse ou leur nom sans avoir a parametrer ces dernieres dans la procedure "LaunchProcedure"

Publié : jeu. 31/juil./2008 11:53
par Kwai chang caine
Je viens d'avoir cette idée grace à un code d'OLIVIER
Mais ça n'empeche pas que l'adresse de la procedure n'est pas une variable dans laquelle est le nom de la procedure
Code : Tout sélectionner
Procedure FirstKcc(Parameter.s)
MessageRequester("First box at KCC", Parameter)
EndProcedure
Procedure SecondKcc(Parameter.s)
MessageRequester("Second box at KCC", Parameter)
EndProcedure
CallFunctionFast(@FirstKcc(),"Hello, that works fine on box 1")
CallFunctionFast(@SecondKcc(),"Hello, that works fine on box 2")