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 Presentation Foundation Discussion :

Enregistrer une class dans un binary file. [Débutant]


Sujet :

Windows Presentation Foundation

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Juin 2016
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte réseau

    Informations forums :
    Inscription : Juin 2016
    Messages : 24
    Points : 8
    Points
    8
    Par défaut Enregistrer une class dans un binary file.
    Bonjour à tous,


    Je me trouve face à un problème dont j'ai du mal a m'en défaire.

    Toujours dans le même projet pour ceux qui ont lu mes posts précédents, celui-ci arrive à sa fin. Il me manque encore quelques petits éléments mais à l'heure ou j'écris ces lignes l'application est globalement fonctionnelle.

    Voici mon problème :

    Je souhaite pouvoir enregistrer ce que j'ai fais au sein de l'appli dans un fichier afin que l'utilisateur puisse récupérer son travail à tout moment ou meme l'envoyer à quelqu'un qui aurait l'appli en sa possession.

    Toutes les données que je souhaite sauvegarder se trouve dans une class que voici :

    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
    public class TypesActivity
            {
                public string Name { get; set; }
                public SelectionMode Selection { get; set; }
                public ObservableCollection<string> Elements { get; set; }
                public ObservableCollection<Label> AssociatedLabels { get; set; }
     
     
                public TypesActivity()
                {
                    Elements = new ObservableCollection<string>();
                    AssociatedLabels = new ObservableCollection<Label>();
                }
     
                public override string ToString()
                {
                    return Name;
                }
            }
    Vous remarquerez qu'à l'intérieure de cette class est imbriquée une autre class que voici :

    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
    public class Label
            {
                public string Name { get; set; }
                public ObservableCollection<Object> Elements { get; set; }
                public TimeSpan startingTime { get; set; }
                public TimeSpan endingTime { get; set; }
                public int startingFrame { get; set; }
                public int endingFrame { get; set; }
                public int bits { get; set; }
     
                public Label()
                {
                    Elements = new ObservableCollection<Object>();
                }
     
                public override string ToString()
                {
                    return Name;
                }
     
            }
    Toutes les données dont j'ai besoin se trouve dans une liste tel que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public ObservableCollection<TypesActivity> Types = new ObservableCollection<TypesActivity>();

    Dans un scénario idéal j'aimerais pouvoir dire à mon programme "Sauvegarde cette ObservableCollection<TypesActivity> Types dans un fichier (binary file?)". Et pouvoir le lire aussi facilement que je l'ai écrit afin d'assigner les données facilement grâce au BinaryWriter et BinaryReader.

    Seulement voila je n'ai pas réussi à trouver des tutos qui expliquent comment faire ou alors seulement sur le cas particulier du texte, ce qui dans mon cas ne correspond pas du tout ..

    Auriez-vous une idée de comment faire ?

    J'ai déjà une méthode pour sauvegarder mes données mais celle-ci est extrêmement lourde et nécessite beaucoup de travail sur les fichiers ce qui fait lagger mon appli, je recherche par conséquent une solution plus élégante et surtout moins lourde.


    Merci d'avance.


    Paibok

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Points : 1 511
    Points
    1 511
    Par défaut
    Bonjour Paibok,

    Je vais te parler d'un truc que je ne connais pas, mais je dirais que la solution que tu cherches doit tourner autour de la sérialisation, puisque pour le peu que j'en connais la sérialisation consiste à passer une classe en chaine de caractère... que l'on doit pouvoir enregistrer dans un fichier...
    Je ne peux t'en dire plus je n'ai jamais eu ce type de besoin mais c'est je pense une piste a creuser.

    J@ck.
    Pas de réponse par MP, merci.

    Penser au ça fait plaisir

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Juin 2016
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte réseau

    Informations forums :
    Inscription : Juin 2016
    Messages : 24
    Points : 8
    Points
    8
    Par défaut
    Salut JackHerror ,


    Merci pour l'info, après quelques 2 jours de recherches j'ai réussi à obtenir un résultat parfait qui plus est avec très peu de lignes de code. Juste la TimeSpan dans la class Label qui ne passait pas lors de la sérialisation, je l'ai donc converti en string et adapté très légèrement mon application. Ca fonctionne parfaitement.


    Paibok.

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

Discussions similaires

  1. [IO] Enregistrer une classe dans un fichier
    Par kase74 dans le forum Langage
    Réponses: 11
    Dernier message: 28/03/2012, 17h18
  2. enregistrer une classe personnalisee dans un QSettings
    Par elmcherqui dans le forum Débuter
    Réponses: 4
    Dernier message: 30/07/2009, 19h50
  3. Enregistrer une classe dans un fichier
    Par Davjack dans le forum Langage
    Réponses: 2
    Dernier message: 31/05/2007, 21h16
  4. Réponses: 3
    Dernier message: 13/02/2007, 17h54
  5. Réponses: 7
    Dernier message: 01/09/2006, 14h19

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