IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Fonction qui retourne un tableau ou 2 variables ? possible ou non


Sujet :

VB 6 et antérieur

  1. #41
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Voilà qui me parait parlant quant à ce que l'on obtient en utilisant comme telle (avec parenthèses, donc) une fonction et ce que l'on obtient si on ne s'en sert que comme procédure (sans l'utilisation des parenthèses) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Private Sub Command1_Click()
      a = "aaa"
      allons a
      MsgBox "a = " & a & vbCrLf & "j'ai appelé sans parenthèses et vois que a a été transformé par toto"
      a = "aaa"
      allons (a)
      MsgBox "a = " & a & vbCrLf & "j'ai appelé avec parenthèses et vois que a a conservé sa valeur"
      a = "aaa"
      allons (a)
      MsgBox "a = " & a & vbCrLf & "j'ai appelé avec parenthèses et vois que a a conservé sa valeur" & vbCrLf & vbCrLf _
             & " =" & allons (a) & "=  est par contre et en plus le renvoi de la fonction toto, ici utilisée réellement" _
             & " comme fonction, avec emploi des parenthèses"
      allons a
              MsgBox "a = " & a & vbCrLf & "j'ai appelé sans parenthèses et vois que a est modifié" & vbCrLf & vbCrLf _
             & " =" & allons (a) & "=  est par contre le renvoi de la fonction toto, ici utilisée réellement" _
             & " comme fonction, avec emploi des parenthèses"
             
    End Sub
    Private Function allons(toto)
      toto = "transformé par toto" 'on transforme ici toto qui modifiera a si appelé sans parenthèses
                                ' et ne le modifiera pas sui appelé avec parenthèses
                                allons = "nous y sommes en plein"
    End Function

  2. #42
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    J'ai fait un saut quantique (sans tout lire) à la fin du thread...

    Bonjour donc

    Pour retourner un tableau dans une fonction j'utilise plutôt une procédure avec un tableau en paramètre par adresse. Exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub maProcedure (ByRef monParam() As monType)
        ' le code
    End Sub

  3. #43
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut

  4. #44
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Citation Envoyé par jmfmarques
    J'en ai volontairement sauté un bon bout. Qu'ais-je manqué qui te fais bidonner?

    [Edit]: Je vois que bbil avais donné la même astuce un peu plus haut. La preuve que parfois, vaut mieux tout lire...

    Allez, je vous laisse entre vous. Vous vous débrouillez très bien sans moi.

    À demain.

  5. #45
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    rien zaza (bonjour) rien....
    Tu connais les boucles sans fin ?
    on est en train d'en faire une....

  6. #46
    Membre éclairé
    Avatar de Catbull
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    542
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 542
    Points : 854
    Points
    854
    Par défaut
    Citation Envoyé par zazaraignée
    J'ai fait un saut quantique (sans tout lire) à la fin du thread...

    Bonjour donc

    Pour retourner un tableau dans une fonction j'utilise plutôt une procédure avec un tableau en paramètre par adresse. Exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub maProcedure (ByRef monParam() As monType)
        ' le code
    End Sub
    C'est la solution communément adoptée car la moins gourmande en ressources.

Discussions similaires

  1. [Tableaux] Fonction qui retourne un tableau
    Par benooiit dans le forum Langage
    Réponses: 2
    Dernier message: 05/01/2007, 01h50
  2. Réponses: 8
    Dernier message: 24/10/2006, 16h50
  3. Réponses: 6
    Dernier message: 22/09/2006, 18h17
  4. [VB] Fonction qui retourne un tableau
    Par ptitsoleil87 dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 24/12/2005, 10h52
  5. Fonction qui retourne un tableau
    Par _lara_ dans le forum ASP
    Réponses: 6
    Dernier message: 24/05/2004, 15h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo