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.NET Discussion :

Variable Class et tableaux [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 251
    Par défaut Variable Class et tableaux
    Bonjour,

    Je debute en VB + CF3.5.

    Pour réaliser l'enregistrement des mes données, j'ai formaté une structure de donnée à l'aide de class imbriquées. Cette structure de donnée est ensuite sérialisé sans un fichier xml. Pour la partie xml et serialisation, ça fonctionne cependant j'ai besoin de lumiére sur un point :

    Lorsqu'on decrit une class principale, et qu'on la déclare en variable globale publique, je peux tout a fait acceder à ses paramètres (string, entier ...) mais si cette class intégre un tableau composé d'une autre class celui n'est pas accessible car l'instance ne semble pas exister. comment proceder pour l'instancier ? comment savoir si elle existe ou pas, un test sur le .count m'envoie bouler parce qu'elle n'existe pas.

    J'espere être assez clair ???

    Merci d'avance

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par altahir007 Voir le message
    J'espere est assez clair ???
    Non...
    Ce sera sans doute plus clair avec un bout de code

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 251
    Par défaut
    Voici : fichier est ma variable principale

    lorsque je veux acceder a fichier.Mestest.count, vb me signal que Mestest n'est pas instancié. le tableau en gros n'existe pas, comment l'initialiser ? peut-on le faire directement dans la déclaration de la structure (peut etre en lui specifiant un min max ?

    apres test : effectivement si je precise Mestest(1000)
    ça fonctionne mais j'aimerai le faire de façon dynamique pour ne pas limiter mes tableaux

    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
    24
    25
    26
    27
    28
    29
    30
    31
     
     
     Public fichier As New MaStructure
     
        Public Class MaStructure
            Public Monprojet As MaStructureProjet
            Public Mestest() As MaStructureTest
        End Class
     
        Public Class MaStructureProjet
            Public numeroprojet As String
            Public client As String
            Public adresse As String
            Public codepostal As String
            Public ville As String
            Public datetravaux As String
        End Class
     
        Public Class MaStructureTest
            Public testdate As String
            Public testtime As String
            Public nom As String
            Public tabbrch() As MaStructurebrcht
     
        End Class
     
        Public Class MaStructurebrcht
            Public nom As String
            Public diametre As Integer
            Public Longueur As Double
        End Class

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 251
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            If fichier.Mestest Is Nothing Then
                ReDim fichier.Mestest(1)
            Else
                ReDim fichier.Mestest(fichier.Mestest.Count + 1)
            End If
     
            MsgBox(CStr(fichier.Mestest.Count))
    ça semble etre assez proche de ça ?

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Tu peux l'initialiser dans le constructeur de MaStructure:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Public Class MaStructure
            Public Monprojet As MaStructureProjet
            Public Mestest() As MaStructureTest
     
            Public Sub New()
                Redim Mestest(10)
            End Sub
        End Class
    Par contre ça suppose de connaitre à l'avance la taille du tableau... tu ferais sans doute mieux d'utiliser une List(Of MaStructureTest)

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 251
    Par défaut
    interessant mais ne sachant pas la taille de mes tableaux à l'avance, je vais y aller en dynamique, j'ai un peu fouillé sur google. ça semble interessant.

    list ? qu'est ce donc ?

    http://msdn.microsoft.com/fr-fr/library/6sh2ey19.aspx

    effectivement c'est exactement ce qu'il me faut ! avec des add, tri ... etc. c'est parfait ! Merci beaucoup. Delphi me semble petit à petit moins interessant ... même l'environnement visual studio est très agréable ! Avec en plus ton coup de main, ça me permet d'avancer lentement mais surement.


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

Discussions similaires

  1. Variable, classe, novice
    Par eltamatrox dans le forum C#
    Réponses: 11
    Dernier message: 08/06/2010, 15h25
  2. Passage variable classe fille -> classe mère
    Par Vincent F dans le forum C#
    Réponses: 4
    Dernier message: 13/07/2009, 17h46
  3. [PHP 5.3] Portée de variable: class > include > fonction
    Par Yanonix dans le forum Langage
    Réponses: 8
    Dernier message: 06/02/2009, 23h43
  4. Réponses: 2
    Dernier message: 11/07/2007, 10h40
  5. [POO] Portée des variables, classe....
    Par Avatar dans le forum Langage
    Réponses: 3
    Dernier message: 27/11/2005, 21h25

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