Modification Structure/Collection

Signaler
Messages postés
38
Date d'inscription
mardi 30 décembre 2008
Statut
Membre
Dernière intervention
24 octobre 2016
-
Messages postés
38
Date d'inscription
mardi 30 décembre 2008
Statut
Membre
Dernière intervention
24 octobre 2016
-
Salut,

Je viens de commencer a etudier le visual studio 2005 et je me suis bloqué sur une modification dans un petit projet.
l'objectif c'est de creer un programme qui permet d'executer plusieurs taches sur les clients et les voitures dans une societe de vente des voitures.

j'ai fai presque tout, l'ajout, la recherche, la suppression mais je me suis bloqué sur la modification.

j'ai 2 collections et 2 structures : une pour les voitures et l'autre pour les clients

prenons cet exemple :

Imports System.Collections
Module Module1
    Public Structure voiture
        Dim marque, serie, couleur, cinacheteur, matricule, type As String
    End Structure
    Dim voitures As New Collection
    Sub main()
        Dim v1, v2, v3 As New voiture
        v1.marque = "Mercedes"
        v1.serie = "SLK"
        v1.couleur = "Noir"
        v1.matricule = "0001"
        v1.type = "Essence"
        voitures.Add(v1, v1.matricule)

        v2.marque = "Volkswagen"
        v2.serie = "TDI"
        v2.couleur = "Vert"
        v2.matricule = "0002"
        v2.type = "Diesel"
        voitures.Add(v2, v2.matricule)

        v3.marque = "Porsh"
        v3.serie = "Caenn"
        v3.couleur = "Jaune"
        v3.matricule = "0003"
        v3.type = "Essence"
        voitures.Add(v3, v3.matricule)

        voitures.Item(3).marque = "aaaaaaaa"   <<<<==== la ca ne marche pas et je ne sais pas pourquoi
        Console.WriteLine("")
        Console.Read()
    End Sub

End Module

L'erreur que je recois : Assignation de liaison tardive à un champ de type valeur 'voiture' non valide lorsque 'voiture' représente le résultat d'une expression de liaison tardive.

bon bref je veux modifier un element d'une structures dans une collection sans passer par la suppression .
J'attends vos réponses

Cordialement

Merci .

2 réponses

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
39
salut,

quand j'essaye ton code j'ai une erreur sur "collection" qui n'est pas reconnu. tout est pourtant bien coché.
peut-être (surement même) dû à ma version : 2008

voici une modif de ton code, qui marche.
avec le doute quand même que çà ne passe qu'avec le framework3.5, donc pas sous vs2005
dans tous les cas çà peut toujours donner des idées...




Module Module1
    Public Structure voiture
        Public marque, serie, couleur, cinacheteur, matricule, type As String
        Public Sub New(ByVal smarque As String, ByVal sserie As String, ByVal scouleur As String, ByVal scinacheteur As String, ByVal smatricule As String, ByVal stype As String)
            marque = smarque
            serie = sserie
            couleur = scouleur
            cinacheteur = scinacheteur
            matricule = smatricule
            type = stype
        End Sub
    End Structure
    Dim voitures As New List(Of voiture)
    Sub main()
        'init des 3 voitures
        voitures.Add(New voiture("Mercedes", "SLK", "Noir", String.Empty, "0001", "Essence"))
        voitures.Add(New voiture("Volkswagen", "TDI", "Vert", String.Empty, "0002", "Diesel"))
        voitures.Add(New voiture("Porsh", "Caenn", "Jaune", String.Empty, "0003", "Essence"))

        'récupère la 3e, la modifie, et la réintègre
        Dim v As voiture = voitures.Item(2)
        v.marque = "aaaaaaaaaa"
        voitures.Item(2) = v
        v = Nothing

        'trace
        Console.WriteLine(voitures.Item(2).marque)
        'Console.Read()
    End Sub
End Module
<!-- Coloration syntaxique vb/vba/vb.net : http://charles.racaud.free.fr/code-syntaxing/ -->
Coloration syntaxique vb/vba/vb.net







++


Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp 
Messages postés
38
Date d'inscription
mardi 30 décembre 2008
Statut
Membre
Dernière intervention
24 octobre 2016

c'est impossible de modifier dans les collections ?