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

C# Discussion :

Sérialisation en VS 2008 :)


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    stagiaire IT
    Inscrit en
    Août 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : stagiaire IT
    Secteur : Finance

    Informations forums :
    Inscription : Août 2011
    Messages : 78
    Par défaut Sérialisation en VS 2008 :)
    Bonjour à tous!

    Nouvelle journée, nouveau Topic!

    Etant un tout nouveau programmeur, je viens de découvrir qu'enregistrer se dit sérialiser!

    Bref, les tutos existant ne m'ont pas trop aidé :s

    Je suis en visual C# 2008, avec le framework 3.5.

    Dans mon programme, je crée un form dans laquelle l'utilisateur entre des données, puis des classes de calculs s'occupent du reste et enfin les résultats finaux sont affichés dans cette même form.

    J'aimerais pouvoir enregistrer cette form dans sa situation finales (avec toutes les données derrière, array etc...) pour pouvoir la charger et la ré-exploiter..

    Avec quelle technologie supérieure je pourrais m'en sortir???

    Merci pour votre aide!

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 193
    Par défaut
    Je pense qu'il y a 3 grandes méthodes
    1) Implémenté la serialization sur tes classes (différent format possible(binaire ,xml,...)
    2) Utiliser un dataset et le serialiser (sous format xml)
    3) Utiliser une base de données


    As-toi de voir quelle technique tu préféres.

    Pour l'aide suffit de rechercher sur google après des tutoriaux

  3. #3
    Membre confirmé
    Homme Profil pro
    stagiaire IT
    Inscrit en
    Août 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : stagiaire IT
    Secteur : Finance

    Informations forums :
    Inscription : Août 2011
    Messages : 78
    Par défaut
    ok merci.

    Et selon toi, dans mon cas qu'est-ce qui serait le plus judicieux?
    Sachant que la quantité de donnée est assez importante en terme de diversité et de taille

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 193
    Par défaut
    Les données sont-elles multiuser? si oui -> bd
    Dois tu faires des requetes? si oui bd ou dataset
    Sinon les 3 sont possible

    Et je dirai que dans un environement professionel c'est plutot une base de donnée sauf si il y a des limitations technique qui l'empeche

  5. #5
    Membre confirmé
    Homme Profil pro
    stagiaire IT
    Inscrit en
    Août 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : stagiaire IT
    Secteur : Finance

    Informations forums :
    Inscription : Août 2011
    Messages : 78
    Par défaut
    Rebonjour!
    Alors merci, pour tes précisions, en fait ce n'est pas multiUser, et par requête que veux-tu dire?

    J'ai des combobox connectées à des BDD, tu parles de ça?

    J'ai finalement opté pour une serialization en XML. J'ai donc crée une classe "archivages" dans laquelle j'ai mis les fonctions "serializer" et "deserializer".

    Pour serializer j'ai le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public void Serialize(object obj, string Path)
            {
                XmlSerializer oXmlSerializer = new XmlSerializer(obj.GetType());
                StreamWriter oStreamWriter = new StreamWriter(Path);
                oXmlSerializer.Serialize(oStreamWriter, obj);
                oStreamWriter.Close(); 
            }
    Mais j'ai un probleme lors du lancement de la sérialisation. Je récupère le "Path" à l'aide d'un FolderBrowserDialog.
    Il me dit qu'il y a une erreur au niveau du (obj.GetType()) et je ne comprend pas pourquoi

    Est-ce que c'est parcequ'il faut que je mette des balises autour de ma classe à serialiser?
    voici mon code pour le lancement de la serialisation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SaveOperation.ShowDialog();
    Path = SaveOperation.SelectedPath.ToString();
    Archivage.Serialize(FenetreResultat.ActiveForm, Path);


  6. #6
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Il ne faut jamais sérialiser les composants graphiques mais plutôt les données derrière les composants graphiques. Après, il faut que tu développes une partie dans tes composants graphiques qui, à partir d'une sauvegarde des données derrière, peut restaurer l'état souhaité de ta fenêtre.

    C'est comme une sauvegarde dans un jeu: une capture d'écran pour savoir ou le héros est, la vie, les munitions n'est pas adapté comme sauvegarde. Il est dur de restaurer un état a partir de ca. Par contre, si tu fais un fichier texte qui contient en toutes lettres la position, la vie et les munitions ca sera plus efficace.

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

Discussions similaires

  1. [Archive] Quel est votre langage de programmation préféré ? (2004..2008)
    Par Idelways dans le forum Débats sur le développement - Le Best Of
    Réponses: 403
    Dernier message: 04/02/2009, 00h56
  2. Quel usage faites vous de Python (2004 - 2008) ?
    Par Guigui_ dans le forum Général Python
    Réponses: 130
    Dernier message: 03/12/2008, 23h59
  3. [express 2008][MFC]Récupérer un fichier sérialiser
    Par PadawanDuDelphi dans le forum Visual C++
    Réponses: 3
    Dernier message: 18/04/2008, 15h54
  4. Sérialisation avec sockets
    Par sebi77 dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 03/05/2004, 20h24
  5. SGBD ou sérialisation
    Par tiboleo dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 07/10/2003, 16h18

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