[Resolu] Macros de fonctions à arguments facultatifs

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

[Resolu] Macros de fonctions à arguments facultatifs

Message par lionel_om »

Bonjour,

Y'a t'il un moyen de faire des Macros avec arguments facultatifs ?
Car je veux faire une "redéclaration" de fonction, mais via une macro (pour optimiser le temps d'exécution).

Exemple :

Code : Tout sélectionner

Procedure Multiplication_par_100(value.l = #Null)
  ProcedureReturn value * 100
EndProcedure

Macro Mul100( ??? )
  Multiplication_par_100( ??? )
EndMacro
Sinon on peut faire cela, mais on perd l'argument facultatif.

Code : Tout sélectionner

Macro Multiplication_par_100(value)
  value * 100
EndMacro

Procedure Mul100( ??? )
  ProcedureReturn Multiplication_par_100( ??? )
Endprocedure
Merci de vos conseils 8)
Lionel
Dernière modification par lionel_om le mer. 13/juin/2007 16:57, modifié 1 fois.
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
minirop
Messages : 321
Inscription : mer. 02/août/2006 21:06

Message par minirop »

ceci ne marche pas ?

Code : Tout sélectionner

Macro Multiplication_par_100(value)
  value * 100
EndMacro

Procedure Mul100( value = 0 )
  ProcedureReturn Multiplication_par_100( value )
Endprocedure
j'ai tester çà marche
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

Oui ca marche, mais pour "Multiplication_par_100", on n'a pas l'argument facultatif... :?
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
minirop
Messages : 321
Inscription : mer. 02/août/2006 21:06

Message par minirop »

lionel_om a écrit :Oui ca marche, mais pour "Multiplication_par_100", on n'a pas l'argument facultatif... :?
documentation de PB a écrit :Exemple: Macro avec paramètre par défaut

Macro BoiteDeMessageEnMajuscule(Titre, Corps = "Ah, aucun corps spécifié")
MessageRequester(Titre, UCase(Corps), 0)
EndMacro

BoiteDeMessageEnMajuscule("Salut") ; Ici la ligne sera remplacée comme ça :
; MessageRequester("Salut", UCase("Ah, aucun corps spécifié"), 0)
'est çà que tu cherches ?
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

minirop a écrit :C'est çà que tu cherches ?
Il me semblais l'avoir déjà testé !
Je ne devais pas avoir les yeux en face des trous ou alors j'ai pas trouvé ca dans la doc !!!

Merci bien
Lio :wink:
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
brossden
Messages : 833
Inscription : lun. 26/janv./2004 14:37

Message par brossden »

Le même principe fonctionne avec les procedures !

Code : Tout sélectionner

Procedure Info(Mess.s="Plus de message")
  MessageRequester("Info",Mess)
EndProcedure

Info("C'est un test")
Info()
Denis

Bonne Jounée à tous
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

Oui, je sais...
Mais je ne devais aps être bien en forme à ce moement.

Merci de votre aide !!! :P
Lio
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Répondre