Fonction et appel de fonction

Résolu
cs_lacomm Messages postés 298 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 5 juillet 2013 - 18 oct. 2004 à 16:52
cs_lacomm Messages postés 298 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 5 juillet 2013 - 20 oct. 2004 à 12:05
Sal,

J'ai un truc comme ceci

Function machin (paramarray texte()) as boolean
if texte()=x then machin = true
end function

call machin

tout va très bien, mais si je mets
if machin = true then etc

ca capote, ca coince dans la fonction.
C'est pas bien grave, mais j'ai l'impression, je sais pas, je voudrais piger, que la fonction est appellée une deuxième fois et que ca casse tout.

5 réponses

thierrydelepine Messages postés 521 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 11 septembre 2008 6
18 oct. 2004 à 17:13
petit rappel

tu créé une fonction qui doit te renvoyer une valeur :

Function machin (paramarray texte()) as boolean
if texte()=x then machin = true
end function

mais comme ta fonction renvoi quelque chose tu ne dois pas l'apeller par :

call machin

mais par :

dim n as boolean
n = machin(texte())

et la tu fais if n = True then ......

ca marche mieux.
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
18 oct. 2004 à 17:18
salut,
Oui ou alors faire ca:
if (machin(text())= TRUE) then

ca devrait marcher aussi.
@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
3
cs_lacomm Messages postés 298 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 5 juillet 2013 1
20 oct. 2004 à 12:05
En fait il faut faire comme ceci:
Function machin (paramarray texte()) as integer
if texte()=x then machin=1
etc
end function

if machin(texte())=1 then compteur1=compteur1+1
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
18 oct. 2004 à 17:10
Salut,

Effectivement, ta fonction est rappelée.
Ca capote en plus car il doit te dire qu il manque les parametre de la fonction non?

Dans ta fontion can tu met Machin = True ca fixe la valeur que va retourner la fonction machin,

Mais si dans un endroit tu met IF Machin = True then ...

Vb va executer la fonction en premier et apres teste si le resultat de ta fonction a ete True.

Je sais pas si j ai ete clair.
@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
0

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

Posez votre question
cs_lacomm Messages postés 298 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 5 juillet 2013 1
20 oct. 2004 à 11:14
Bien merci messieurs,

J'ai enfin compris.
Par contre, un autre problème:

Function machin (paramarray texte()) as boolean
if texte()=x then compteur1=compteur1+1
if texte()=y then compteur2=compteur2+1
if texte()=z then compteur3=compteur3+1
end function

n=machin(texte())
if n=true then msgbox "ok"
***ici arrive le problème***
msgbox compteur1
msgbox compteur2
msgbox compteur3

Donc est-il possible de récupérer les valeurs compteur1, 2 et 3 ?
J'ai déclaré compteur1 en public.
(il me semble que ca marchait auparavant)

Bien merci encore
0
Rejoignez-nous