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

Windows Forms Discussion :

[vb.net] access a un tableau a l'interieur d'une structure


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 386
    Par défaut [vb.net] access a un tableau a l'interieur d'une structure
    Bonjour à tous! voila j'ai une structure qui a cette tete la
    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
    Structure Livre
            Public Titre As String
            Public ISBN As String
            Public jj As String
            Public mm As String
            Public aa As String
            Public nbA As Integer   
            Public auteur() As String  
            Public GrComThMat As String 
            Public niveau As String 
            Public DVDCD As String 
            Public Sub Initialize()
                ReDim auteur(3)
            End Sub
        End Structure
    On a donc un tableau "auteur" de 3 lignes, à l'interieur de cette structure, auquel je n'arrive pas à affecter de valeur. Voici ma syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Tlivre(i, j).auteur(0) = "salut"
    L'erreur signalée est la suivante : "La référence d'objet n'est pas définie à une instance d'un objet"
    D'où vient l'erreur? De ma déclaration de structure ou de celle de mon affectation et coment la corriger?
    Merci a vous =)

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    1 581
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 581
    Par défaut
    Comment initialises-tu Tlivre (c'est là le prob à mon avis)? Montre nous le code complet.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 386
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Tlivre(50, 3) As Livre
    c'est donc un tableau de structure a 2 dimentions a l'interieur duquel il y a un tableau auteur

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 386
    Par défaut
    J'ai simplifié le code et tjs le meme probleme, le voila en entier :
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    Public Class Form1
        Inherits System.Windows.Forms.Form
        Structure Livre
            Public Titre As String
            Public auteur() As String
            Public Sub Initialize()
                ReDim auteur(3)
            End Sub
        End Structure
        Public i As Integer
        Public Tlivre(50) As Livre
        Public auteur(3) As String
     
    #Region " Code généré par le Concepteur Windows Form "
     
        Public Sub New()
            MyBase.New()
     
            'Cet appel est requis par le Concepteur Windows Form.
            InitializeComponent()
            i = 0
            'Ajoutez une initialisation quelconque après l'appel InitializeComponent()
     
        End Sub
     
        'La méthode substituée Dispose du formulaire pour nettoyer la liste des composants.
        Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
            If disposing Then
                If Not (components Is Nothing) Then
                    components.Dispose()
                End If
            End If
            MyBase.Dispose(disposing)
        End Sub
     
        'Requis par le Concepteur Windows Form
        Private components As System.ComponentModel.IContainer
     
        'REMARQUE*: la procédure suivante est requise par le Concepteur Windows Form
        'Elle peut être modifiée en utilisant le Concepteur Windows Form.  
        'Ne la modifiez pas en utilisant l'éditeur de code.
        Friend WithEvents Button1 As System.Windows.Forms.Button
        Friend WithEvents ListBox1 As System.Windows.Forms.ListBox
        <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
            Me.Button1 = New System.Windows.Forms.Button
            Me.ListBox1 = New System.Windows.Forms.ListBox
            Me.SuspendLayout()
            '
            'Button1
            '
            Me.Button1.Location = New System.Drawing.Point(112, 88)
            Me.Button1.Name = "Button1"
            Me.Button1.Size = New System.Drawing.Size(72, 24)
            Me.Button1.TabIndex = 0
            Me.Button1.Text = "Button1"
            '
            'ListBox1
            '
            Me.ListBox1.Location = New System.Drawing.Point(96, 152)
            Me.ListBox1.Name = "ListBox1"
            Me.ListBox1.Size = New System.Drawing.Size(120, 95)
            Me.ListBox1.TabIndex = 1
            '
            'Form1
            '
            Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
            Me.ClientSize = New System.Drawing.Size(292, 266)
            Me.Controls.Add(Me.ListBox1)
            Me.Controls.Add(Me.Button1)
            Me.Name = "Form1"
            Me.Text = "Form1"
            Me.ResumeLayout(False)
     
        End Sub
     
    #End Region
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Tlivre(0).auteur(0) = "salut"
            ListBox1.Items.Insert(i, Tlivre(0).auteur(0))
        End Sub
    End Class
    Je suis vraiment perdue

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    1 581
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 581
    Par défaut
    En c# car je connais pas le vb.net

    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
    class Program
        {
            struct Livre
            {
                public string Titre;
                public string[] auteur;
            }
            static Livre [] Tlivre = new Livre[50];
            static void Main(string[] args)
            {
     
                Tlivre[0].Titre = "A book";
                Tlivre[0].auteur = new string[3];
                Tlivre[0].auteur[0] = "Item 1";
                Tlivre[0].auteur[1] = "Item 2";
                Tlivre[0].auteur[2] = "Item 3";
     
                foreach (string item in Tlivre[0].auteur)
                {
                    Console.WriteLine(item);
                }
                Console.ReadLine();
            }
        }

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 386
    Par défaut
    il doit me manquer la ligne avec "new string" je teste ça et je vous tiens au courant merci =))

Discussions similaires

  1. Réponses: 14
    Dernier message: 29/03/2014, 10h36
  2. Tableau contenant les noms d'une structure.
    Par LiaGalanodel dans le forum Langage
    Réponses: 23
    Dernier message: 10/11/2010, 15h24
  3. Réponses: 2
    Dernier message: 20/06/2010, 18h02
  4. Réponses: 5
    Dernier message: 15/03/2010, 13h22
  5. [VB.NET] Création d'un tableau en code behind
    Par netr dans le forum ASP.NET
    Réponses: 6
    Dernier message: 11/05/2004, 11h02

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