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 :

Passage tableau à une fonction


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 95
    Points : 52
    Points
    52
    Par défaut Passage tableau à une fonction
    Bonjour,

    Je cherche depuis quelque temps comment passer un tableau comme argument d'une fonction et je ne trouve pas.... Je sais ca peut paraitre bete mais bon on fait ce que l'on peut.

    Merci d'avance pour votre aide

    Pierre

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Bonjour,

    tu es certain d'envoyer vers une fonction et non une procédure ?

    Si tel est bien le cas, voilà un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Command3_Click()
      Dim montabl(4) As Integer
      For i = 0 To 3
        montabl(i) = i
      Next
      MsgBox traitons(montabl())
    End Sub
     
    Private Function traitons(montab) As String
      If montab(1) = 1 Then traitons = "oui" Else traitons = "non"
    End Function

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    je n'aime pas trop ta méthode ucfoutu, tu ne types pas ton tableau là dans ton proto de procédure

    J'avoue que je bloque aussi, je ne me suis jamais posé la question à vrai dire ou alors je n'ai pas cherché j'ai utilisé un variant ... ce qui revient au même que ce que tu viens de faire.

    C'est bizarre, c'est impossible de déclarer en variable de procédure/fonction un tableau du genre : mavar() as string

  4. #4
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Je suis à côté de la plaque avec ça ?

    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
     
    Option Explicit
    Dim toto(2, 2) As Single
    Private Sub Command1_Click()
    Affiche toto()
    End Sub
    Private Sub Form_Load()
    Dim i As Byte, j As Byte
    For i = 0 To 2
      For j = 0 To 2
        toto(i, j) = Rnd
      Next j
    Next i
    End Sub
     
    Public Function Affiche(tableau() As Single)
    Dim c As Byte, r As Byte
    For c = 0 To UBound(tableau, 1)
      For r = 0 To UBound(tableau, 2)
        Debug.Print tableau(c, r)
      Next r
    Next c
    End Function

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    aaaaaaaaaah mais ... Non non ton truc marche ohmonbato et c'est d'ailleurs la solution ... J'ai malheureusement fait les tests chez moi qui ont conduit à mon dernier post en passant la variable BYVAL, ce qui ne marche visiblement pas avec les tableaux

    +1 !

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Citation Envoyé par Vld44 Voir le message
    je n'aime pas trop ta méthode ucfoutu, tu ne types pas ton tableau là dans ton proto de procédure

    J'avoue que je bloque aussi, je ne me suis jamais posé la question à vrai dire ou alors je n'ai pas cherché j'ai utilisé un variant ... ce qui revient au même que ce que tu viens de faire.

    C'est bizarre, c'est impossible de déclarer en variable de procédure/fonction un tableau du genre : mavar() as string
    qu'est qui gène ?
    Typons donc ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Command3_Click()
      Dim montabl(4) As String
      For i = 0 To 3
        montabl(i) = Str(i)
      Next
      MsgBox traitons(montabl())
    End Sub
     
    Private Function traitons(montab() As String) As String
      MsgBox montab(1)
    End Function

  7. #7
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    oui voilà, ça évite les "late bound lacks"

Discussions similaires

  1. Passage de tableau à une fonction: pb de debugger
    Par Felipe_ dans le forum C++Builder
    Réponses: 2
    Dernier message: 08/12/2007, 09h26
  2. Réponses: 11
    Dernier message: 27/06/2007, 15h06
  3. Passage de tableau à une fonction par pointeur
    Par progfou dans le forum C++
    Réponses: 15
    Dernier message: 23/02/2007, 11h45
  4. Réponses: 17
    Dernier message: 15/05/2006, 17h18
  5. Réponses: 8
    Dernier message: 10/03/2006, 17h28

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