Procédure / fonction

Résolu
Signaler
Messages postés
22
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
18 juin 2007
-
Messages postés
551
Date d'inscription
samedi 8 janvier 2005
Statut
Membre
Dernière intervention
12 avril 2008
-
quelqu'un pourrait m'expliquer les différences et les usages de chacune ?
en me disant un peu plus que : "la fonction retourne une valeur" !

merci

5 réponses

Messages postés
551
Date d'inscription
samedi 8 janvier 2005
Statut
Membre
Dernière intervention
12 avril 2008
2
Sub Procedure
    ' fait quelque chose : tu t'en fiche du resultat
End Sub

Function Fonction(Byval truc As String) As String
   ' fait des opérations sur la chaine Truc
   ' et renvoi la nouvelle chaine ...
   Return "..."
End Function

Pour l'utilisation :

Procedure() ' tout seul ...
Dim nouvellechaine as string = Fonction() ' la fonction renvoi la chaine (voir plus haut)

donc la seule différence c'est que Function renvoit 1 valeur, on peut pas être plus précis

=> après pour le reste c'est de l'optimisation de code ou savoir comment ça marche au niveau de la compilation, mais vu la question je pense que tu es débutant et que tu veux en savoir plus ... (ou que t'as pas compris ^^)
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
130
ben pourtant c'est la seule différence !

Je dirais (mais sans conviction) que la méthode est légérement plus rapide que la fonction car justement, elle renvoie rien.
Messages postés
883
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
3 mars 2009
7
J'ajouterais qu'à la compilation, les fonctions deviennent des méthodes avec un paramètre supplémentaire pour la valeur de retour. C'est donc plus rapide du temps d'un push pour le paramètre (négligeable...).

<hr size="2" width="100%" />Julien.
Messages postés
22
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
18 juin 2007

on a fait 3 semaines de cours dessus en dvt et j'étais pas là ... c'est pour ça !

merci pour cet éclairage ^^  

 
Messages postés
551
Date d'inscription
samedi 8 janvier 2005
Statut
Membre
Dernière intervention
12 avril 2008
2
merci d'avoir accepter ma réponse ^^ (c'est rare lol)