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 :

Serialisation / Déserialisation données


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 82
    Par défaut Serialisation / Déserialisation données
    Hello,

    J'aurai besoin de votre aide concernant la sérialisation et déserialisation de données, j'ai commencé à faire quelques recherches mais je rencontre premièrement un problème.. et ensuite je pense pas que ce que je fais soit bien, donc je vous expose le cas

    J'ai conçu un petit logiciel pour créer des CVs, (si possible les éventuels grosses erreurs qui apparaitront j'aimerai ne pas avoir les corriger car je manque de temps, mais je veux bien connaitre la solution pour y travailler plus tard..), lorsque la principale fenêtre se charge je met dans des dictionnaires (diccomboxbox,dictexbox, etc) d'une classe cls_Donnes les références de mes controls (comboboxn textbox, etc) pour parcourir tout les controls afin de récup leur attribut text essentiellement.

    Et j'aimerai donc serialiser les données qui sont dans chaque control.Est-ce possible sur des dictionnaires ? Si ou quel endroit serait le plus judicieux pour sérialiser tout ça ? que faut-il que je sérialise, les dictionnaires, ou les attributs text de mes controls ?

    Je m'étais dit que sérialiser la classe cls_Donnes serait le plus simple mais je bloque déjà (et je doute que ça soit la solution) :
    J'ai une erreur me disant que les controls textbox ne sont pas serialisable (j'ai tout mis en public)

    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
     
    <Serializable()> Public Class cls_Donnees........................
     
     
        Sub Serialisation()
            Dim myFileStream As Stream = File.Create("C:\Users\Donnees.bin")
            Dim serializer As New BinaryFormatter
            serializer.Serialize(myFileStream, Me)
            myFileStream.Close()
        End Sub
     
        Function Deserialisation()
            If File.Exists("C:\Users\donnees.bin") Then
                Dim myFileStream As Stream = File.OpenRead("Compta.bin")
                Dim deserializer As New BinaryFormatter()
                Return CType(deserializer.Deserialize(myFileStream), cls_Donnees)
            End If
        End Function
     
    End Classe

    Merci d'avance pour votre aide !

  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
    Les contrôles ne sont pas sérialisable. Crée plutôt une classe qui n'est pas un contrôle, et qui contient les données du CV

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 82
    Par défaut
    Ok merci ,

    Et si je sérialise une hashtable ça peut le faire ? La nouvelle classe ajouterait au fur et à mesure le contenu des contrôles à des hashtables (ou autre ? il faudrait que j'identifie la valeur par le name du contrôle qui est unique)

  4. #4
    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
    Oui, ça doit pouvoir marcher à condition que les objets contenus dans la Hashtable soient eux-mêmes sérialisables

    Mais tu raisonnes à l'envers : apparemment, pour toi c'est l'interface graphique qui représente le CV, et tu fais tout en termes d'interface graphique, y compris la sérialisation alors que ça n'a rien à voir. Il faut séparer le code métier du code de l'interface, tu devrais avoir une classe avec toutes les données du CV, et remplir l'interface en fonction du contenu de cette classe. Pour l'instant dans ton appli le CV n'a aucune représentation en dehors de l'interface...

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 82
    Par défaut
    Je m'étais mal exprimé, mais je veux bel et bien sérialiser uniquement les données contenu dans mes textbox, checkbox et cie

    Je viens de travailler dessus et ça fonctionne, par contre maintenant un peu la galère je sens car j'instancie lors de la création d'un CV différents tabitem en fonction du nombre de boulot par exemple (un boulot = un tabitem avec la date de travail, les missions, etc) , mais lors de l'importation (désérialisation)ils existent pas ces tabitem :/, enfin je vais avancer et je reviendrai si j'ai besoin d'aide,

    merci bien

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 04/04/2012, 14h42
  2. Réponses: 2
    Dernier message: 22/09/2011, 14h24
  3. Réponses: 1
    Dernier message: 26/05/2010, 13h58
  4. Persistence de données - Serialisation
    Par jomoro dans le forum VB.NET
    Réponses: 6
    Dernier message: 08/02/2009, 03h01
  5. [Serialisation]Comment transformer données binaires>.wav?
    Par Surfer dans le forum Framework .NET
    Réponses: 1
    Dernier message: 21/02/2006, 18h06

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