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#

  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 189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 189
    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 189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 189
    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 : 38
    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.

  7. #7
    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! je vois où tu veux en venir! J'avais pensé comme ça de base mais je me suis dit que XML était peut-être magique!

    Si je veux rester en XML (parce-qu'il y a beaucoup de données à traiter), comment je peux faire pour sélectionner les valeurs à sauvegarder?

    J'aimerais rester en XML pour pouvoir enregistrer sur le disque une opération comme si on enregistrait un word ou un excel afin de rester dans un schémas classique d'enregistrement.

  8. #8
    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
    Où vaut-il mieux que je change de techno?

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

    Informations forums :
    Inscription : Février 2003
    Messages : 2 189
    Par défaut
    si il y a beaucoup de données le mieux est une base de données :p

    Mais je pense que le problème vient plus de tes connaissances en programmation que de la technologie de sauvegarde

    Peut-être expliquer un peu plus ton application et surtout lire des livres/tutoriels traitant de la programation orienté objet

  10. #10
    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
    Effectivement, mes connaissances sont plutôt limitées!!

    J'ai effectivement lu qque Tuto histoire d'avancer là pour finaliser l'application et je suis un peu perdu.

    Alors je vais essayer d'expliquer clairement mon application :

    j'ai une page d'accueil qui me permet de lancer une nouvelle page "opération N°..." (on peut en ouvrir autant qu'on veut simultanément) qui est le coeur du sujet. L'utilisateur rentre ses paramètres (certain directement, d'autre sont simplement des selection dans des combobox rentrée en dur ou chargées à partir d'une BDD).
    Puis j'ai un bouton où on click et c'est le branle bas de combat!
    j'instancie les classe de calcul qui s'occupent de tout, lance tout le schmilblick puis j'ai des résultat que j'affiche dans des champs prévus à cet effet dans la form "opération N°..".

    Mon but est de pouvoir les sauvegarder pour pouvoir les réafficher, les modifier et les recalcules, mais aussi pouvoir accéder aux différents résultat afin de les agréger (mais ça c'est pour ma dernière fonctionnalité).


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

    Informations forums :
    Inscription : Février 2003
    Messages : 2 189
    Par défaut
    C'est mal les logiciels de calculs ;p
    beuh si tu as déjà une base de données utilise une base de données

    Je ne sais pas si tu as des connaissaance en base de données mais rapidement je ferai

    Une table MetaCalcul
    IdMetaCalcul
    Nom

    Une table Paramètre
    IdParamètre
    Nom
    Valeur

    Une table OpérationArithmétique
    IdOperation
    Valeur ("+","-","*",...)

    Une table Operation
    RefMetaCalcul
    OrdreOperation
    RefOperationArithmétique
    RefParametre1
    RefParametre2

    Une table Resultat
    RefmetaCalcul
    DateResultat
    Valeur

    apres tu dessines tes objets
    une classe
    MetaCalcul(Id,Nom,ListeOperation)
    Paramètre(Id,Nom,Valeur)
    ....

  12. #12
    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
    mmmh pardon c'est ma hiérarchie qui exige un logiciel de calcul c'est pour des modélisation un peu complexe!

    Oui effectivement, dans le cadre de ce programme j'ai déjà fait le l'extraction de données, des écritures etc..

    Inscrire les paramètres saisis ne me pose pas de gros problème technique, et je pense que pour les développeur confirmé c'est la base!
    Là où j'ai du mal à visualiser c'est pour enregistrer des datagrid et des arrays qui sont crée lors de la saisi

    je vais continuer à chercher dans ce sens alors!!
    En tout cas, je sens que je commence à approcher des choses un peu plus complexes, ça fait plaisir!

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

    Informations forums :
    Inscription : Février 2003
    Messages : 2 189
    Par défaut
    Un datagrid est souvent stocker dans une table

    Je vous conseil les tutoriels sur ADO.NET et les datagrids

  14. #14
    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 coolos

    Je vais me lancer là-dessus!
    Merci! ça m'a bien aidé!

+ 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