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 :

Indexation d'une propriété de classe


Sujet :

VB 6 et antérieur

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut Indexation d'une propriété de classe
    Bonjour,

    j'ai créé une classe qui comporte 10 propriétés :

    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
     
    Public Property Let tab_01(ByVal vData As listab)
        mvartab_01 = vData
    End Property
     
    Public Property Get tab_01() As listab
        tab_01 = mvartab_01
    End Property
     
    Public Property Let tab_02(ByVal vData As listab)
        mvartab_02 = vData
    End Property
     
    Public Property Get tab_02() As listab
        tab_02 = mvartab_02
    End Property
     
    etc. jusqu'à 10
     
    listab est une énumération
    puis j'ai une méthode qui traitent les valeurs de mes propriétés.

    Ma question est la suivante : est-il possible d'optimiser le code de cette méthode en utilisant un index pour traiter les 10 propriétés afin d'éviter les redites ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Public Function Get_DelAutor(ByVal delcod As Long) As Boolean
       ' déclaration diverses
       '
       pour i = 1 à 10
             traitement de suivant la valeur de "tab_0" + Str(i)

  2. #2
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 332
    Points : 718
    Points
    718
    Par défaut
    salut,

    et si tu rajoute un index en param de ta fonction?
    du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Fonction (TonParam, Index as Integer)
    Xavier

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Je vois pas trop ce que j'en ferais de cet index...
    Quoi qu'il se passe, je dois traiter mes 10 propriétés

  4. #4
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 332
    Points : 718
    Points
    718
    Par défaut
    j'imaginais juste un truc comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    Public Function Get_DelAutor(ByVal delcod As Long) As Boolean
       ' déclaration diverses
       '
       pour i = 1 à 10
            j'appelle mes fonctions en donnant en param i
    et:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    Public Property Let tab(ByVal vData As listab, Index as Integer)
        mvartab_01 = vData
    End Property
     
    Public Property Get tab(Index as integer) As listab
        tab_01 = mvartab_0 & Index
    End Property
    Xavier

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    J'ai testé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Property Let tab(Byval Index as Integer, ByVal vData As listab)
        mvartab(index) = vData
    End Property
     
    Public Property Get tab(Index as integer) As listab
        tab(index) = mvartab(index)
    End Property
    mais quelque chose ne fonctionne pas lors de la lecture, je ne pense pas que ce soit possible finalement

    Je ne devrais pas utiliser une classe Collection plutôt ?

  6. #6
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 332
    Points : 718
    Points
    718
    Par défaut
    tu as déclaré comment mvartab et tab?
    Xavier

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tu as déclaré comment mvartab et tab?
    mvartab oui

    Plus j'y pense, plus je suis persuadé que ce n'est pas concevable. Je suis parti sur la piste de l'objet collection, couplé à ma classe, cela semble convenir.

    Merci de ton aide

  8. #8
    Membre éclairé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 332
    Points : 718
    Points
    718
    Par défaut
    bonjour,

    si tu considères que c'est bon pour ce post, pense au tag Résolu.


    EDIT: il y est déjà... J'avais pas vu

    @+
    Xavier

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/04/2015, 18h47
  2. Réponses: 6
    Dernier message: 19/08/2014, 10h08
  3. Réponses: 4
    Dernier message: 13/04/2013, 21h20
  4. passer une fonction dans un parametre d'une propriété de classe
    Par CAML dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 06/08/2006, 19h52
  5. Réponses: 7
    Dernier message: 06/04/2006, 18h17

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