Page 1 sur 1

[RESOLU] Procedure avec des options (genre [])

Publié : dim. 17/avr./2011 14:40
par blendman
salut

je me demandais s'il était possible de créer une procédure de ce genre :

Procedure drawTextOutline(x.i,y.i,text$,outline.i[,colortext[,colorOutline]])

Avec des paramètres en entrée qui soient optionnels.

Comme pour un simple drawtext(x,y,text$[,color,[colorfront]])

C'est possib ou pas possib ? :D

Re: Procedure avec []

Publié : dim. 17/avr./2011 14:50
par falsam
C'est possible en affectant des valeurs par défauts aux paramétrés optionnels.

Code : Tout sélectionner

Procedure Colorise(Forme.s, Couleur.s="Rouge")
  Debug Forme+" - "+Couleur
EndProcedure

Colorise("Carré")
Colorise("Cercle", "Vert")

Re: Procedure avec []

Publié : dim. 17/avr./2011 14:56
par El Papounet
Oui, sans problème. Il suffit de donner une valeur par défaut dans les paramètres de ta procédure.

Avec ton exemple:

Code : Tout sélectionner

Procedure drawTextOutline(x.i, y.i, text$, outline.i, colortext = 0, colorOutline = 255)
De sorte que si tu ne spécifies pas la couleur de texte et de contour elles auront respectivement les valeurs 0 et 255.
Dans la procédure les paramètres optionnels doivent toujours être les derniers passés.

C'est à dire que lors d'un appel tu pourras passer le paramètre colortext seulement, mais si tu ne veux passer que le paramètre colorOutline il te faudra quand même passer le paramètre colortext.

Re: Procedure avec []

Publié : dim. 17/avr./2011 15:00
par blendman
super !
Merci beaucoup pour vos réponses les amis, c'est classe :D.

Re: [RESOLU] Procedure avec des options (genre [])

Publié : dim. 17/avr./2011 21:07
par case
a savoir,tu peux pas faire

procedure blah( a,b=2,c,d,e)

tu ne peux pas mettre une valeur par défaut a un paramètre si il est suivi par un paramètre non optionnel

procedure blah( a,b=2,c=0,d=0,e=0)

çà c'est bon ,)

Re: [RESOLU] Procedure avec des options (genre [])

Publié : dim. 17/avr./2011 21:17
par blendman
case a écrit :a savoir,tu peux pas faire

procedure blah( a,b=2,c,d,e)

tu ne peux pas mettre une valeur par défaut a un paramètre si il est suivi par un paramètre non optionnel

procedure blah( a,b=2,c=0,d=0,e=0)
çà c'est bon ,)
ok, je ferais gaffe à ça , merci ;)