SERIALIZATION : UNE METHODE POUR STOCKER DES DONNÉES

AlexDotNet Messages postés 6 Date d'inscription dimanche 12 février 2006 Statut Membre Dernière intervention 4 mars 2006 - 12 févr. 2006 à 14:46
TeBeCo Messages postés 467 Date d'inscription lundi 24 juin 2002 Statut Membre Dernière intervention 9 mars 2011 - 12 avril 2007 à 14:35
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/36011-serialization-une-methode-pour-stocker-des-donnees

TeBeCo Messages postés 467 Date d'inscription lundi 24 juin 2002 Statut Membre Dernière intervention 9 mars 2011
12 avril 2007 à 14:35
"tu peux tout sérialiser dans un seul fichier"
oui lol merci j'ai deja faitde la serialization pas mal de fois sur des collection des dictionnary ect ...

"il suffit de convertir correctement tes photos dans les objets et ensuite de sérializer le tout."
ca n'a pas de sens proprement dit car c'est le framework qui via l'interface iserializable et iserializaton serialize ce qu'il veux

donc je repose la question ^^
quand veux serializé une image faut le faire a la mimine en crééant des objet qui contienne tte les info avec implementation des interface que j'ai cité au dessus (comme fait dans la source que j'ai cité) ou est ce qu'il le fait tout seul

"je l'ai fait pour un prog de dessins."
URL ? ^^
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
11 avril 2007 à 20:00
tu peux tout sérialiser dans un seul fichier, il suffit de convertir correctement tes photos dans les objets et ensuite de sérializer le tout. je l'ai fait pour un prog de dessins.
TeBeCo Messages postés 467 Date d'inscription lundi 24 juin 2002 Statut Membre Dernière intervention 9 mars 2011
11 avril 2007 à 18:22
le code est a nettoyé frachement pour la serialization ^^
ca fait un peu barbare, c'est pas tout a fait comme c qu'il faut "entammer" la serialzation.
ca marche certe mais c'est pas trop la methode a utiliser je dirais
je vais essayé de t'en retrouvé un propre qui permet en plus de spécialiser la serialization :
http://www.csharpfr.com/codes/SERIALISATION-XML-DICTIONARY_40912.aspx
(le vb.net etant exactement pareil que le C# et le niveau etant simple pas d'excuse de comprehension a la lecture)

cela dit je voudrais savoir si t'as deja essayé de serializer des objet de type image (system.drawig.image) pour savoir si a un moyen de forcer a serialiser les données "brut" de l'image pour vraiment integré l'image au fichier afin d epas se trimballé avec n+1 fichier (n image + le fichier serialiser)
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
4 mars 2006 à 19:53
ah ok
AlexDotNet Messages postés 6 Date d'inscription dimanche 12 février 2006 Statut Membre Dernière intervention 4 mars 2006
4 mars 2006 à 19:48
Je dis orienté objet car dans mon programme que je développe en ce moment, j'utilise la programmation objet... j'ai completement modifié ce code.. celui présent sur code-source me permet de partager la méthode.. l'intégration efficasse de la serialization dans les projets ne peut se limitter à ce bout de code.

Alex.
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
4 mars 2006 à 09:59
Désoler mais sérializer un objet c'est typique de la prog objet, et serializer en xml n'est pas dispo en compact framework :(
ce que je vois dans ton code n'est pas du tout du code orienté objet, j'ai poster un truc sur le forum, look :
http://www.vbfrance.com/forum.v2.aspx?ID=678466
AlexDotNet Messages postés 6 Date d'inscription dimanche 12 février 2006 Statut Membre Dernière intervention 4 mars 2006
4 mars 2006 à 00:46
<serializable>Public NOM_DE_TON_OBJET as TYPE_DE_OBJET

end Class

tu rajoute la mention : <serializable> devant la classe de ton objet à serializer. Pour y voir plus clair avec la serialization, je te conseil de faire de la programmation DotNet en orienté Objet ! C'est bien plus clair ! Ca te permet de visualiser ton code clairement et surtout, de d'investir dans ton code ! Tout ce qui est Timers, Objets Systeme, ou ce genre d'outils, Winsock etc, il est conseillé de faire cela en Objet... Ca te permet deja de travailler sur le code et de ne pas faire des allés et retours Graphique/Code et de deux, ca te permet aussi de creer un code que tu connais ! Un code sain = Peu d'erreurs... Ecoute, avant, je fesais pas mal d'erreur en VB.. Apres avoir pris l'habitude du language Objet, je peux faire 100 lignes de codes en 30 minutes sans fautes... La Serialization est un bon moyen d'apprendre la programmaton orienté Objet : Tu peux acceder aux ressources systeme en créant des objets déclarés dans le code et les serializer... C Vachement pratique.. et apres, tu peux apprendre à serializer une Class entière.. SURTOUT, oriente toi vers la serialization XML ! XML c'est l'avenir ! je suis Beta testeur officiel chez Microsoft.. Windows Vista et la BDR c'est FINI ! Maintenant, c'est un fichier de configuration qui se trouve dans le dossier de l'application... Il est en XML ! Deplus, nous avons recus récement une Beta de BlackComb ( Pas avant 2011) du systeme d'exploitation apres windows Vista... Il n'y a que du XML ... Je sais que je sors du sujet mais regarde Msn Messenger, l'exportation des contacts se fait au Format XML ... L'une des meilleurs facon d'avoir un programme qui peut migrer TRES FACILEMENT est de programmer selon la charte de Microsoft... Si tu vas flaner sur leur site, tu trouveras une charte qui donne tout les code pour faire un code qui équivaut au codes de Microsoft... La serialization en BIN est utile mais unqiuement si tu veux craquer les parties de jeux ^^ Enfaite, beaucoup de jeux sauvegardent les parametres ou parties dans des fichiers Bin ... Le XML est plus professionnel... Deplus, il te permettra d'alier un site web avec les parametres d'une application (ASP.Net). Le XML est donc le seul à retenir. j'ai exposé dans mon code le BIN car il est simple ! Mais le XML l'est aussi cependant, il faut connaire la facon dont s'organise un arbre XML ... Et je n'avais pas le temps de l'expliquer.. Connaitre un arbre te permet de le modifier sans ReSerializer... Cependant, un .Bin Serialisé, si tu édite le fichier, tu sauvegarde, tu annule la modif et tu réédite le fichier, le .Bin n'est plus valable.. C'est notement la protection du fichier Key de chez Kaspersky pour éviter les fraudes...

En conclusion, pour revenir à la serialization, c'est une Méthode MICROSOFT. Arreter les .ini .. Seializer en utilisant le plus possible la programmation objet pour éviter les erreurs... Enfin, il n'y a pas de XML meilleur que .Bin. Les deux ont des utilisations différentes... Le meilleur moyen de programmer vite est de faire une étude de programme avant de commencer à entrer le code.. prenez une feuille, ecrivez vos variables, et reflechissez à la cohérence.. apres, tout va bien..

Serialiéation = Sauvegarde Rapide, Protegée, Qui est au Normes Microsoft !

Voila ce qu'il peut y avoir à dire à propos de la serialization. Ah, une chose... CREEZ DES MODULES D'AUTOMATISATION DE LA SERIALISATION... Ca ira bien plus Facilement... SOULAGEZ LE CODE DANS LA FORM ! Un programme Rapide est un programme bien codé !
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
3 mars 2006 à 21:03
Salut, tu aurais pu stocké tes infos dans une arraylist en utilisant également du overrides et overridable.

Bref moi je bosse sur la sérialization et je me demande si tu sais comment intégrer la serialization dan sun projet utilisant le compact framework ? car la sérialization est bien dispo mais je ne trouve pas comment intégrer l'en-tête "<serializable()>" au début de mes objets qui devront l'être.
AlexDotNet Messages postés 6 Date d'inscription dimanche 12 février 2006 Statut Membre Dernière intervention 4 mars 2006
20 févr. 2006 à 15:16
oui, je sais bien...
j'ai modifié mon code pour l'utilisation dans mon logiciel...
j'en ai fait un module.

Avec Try, Catch, Finally, End Catch.

Merci de cette remarque récurente. Je vais modifier le code du site bientot.
Senynium X Messages postés 49 Date d'inscription vendredi 22 octobre 2004 Statut Membre Dernière intervention 12 juin 2008
20 févr. 2006 à 11:20
Salut,
tu as juste voulu rallonger ton code avec le bloc "Fin : " ? Parce qu'il n'a vraiment aucune utilité. Tu aurais tout aussi bien pu copier à l'endroit ou tu l'appel (1 ligne pour une ligne, je ne vois pas l'ajout ...). En plus comme tout le monde te l'a ditr avant moi, c'est pas top cette manière de faire. Utilise les "TRY CATCH FINALLY" beaucoup plus adaprtés à la gestion des erreurs

Bonne prog
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 25
14 févr. 2006 à 11:03
surtout qu'il y en a beaucoup ici, qui entre 14h et 18h sont au boulot ...
Et certains collègues d'outre atlantique ne sont même pas levés à cette heure-là.

Tu pouvais mettre le label 'BlocError' après le label 'Fin'. Ca fonctionne aussi, et çà t'épargne un Goto.

Et n'oublie pas de passer le chemin de ton binaire en paramètres. En dur dans le code, c'est pas top. Si tu veux utiliser deux fois la sérialisation, tu es alors obligé de taper deux fois ton code ...
Optitech Messages postés 134 Date d'inscription samedi 19 octobre 2002 Statut Membre Dernière intervention 3 janvier 2009
14 févr. 2006 à 10:56
Salut !

Ta source est intéressente ! Je débute en .Net donc je peut pas trops dire les points qui sont bon ou les points qui sont mauvais. Mais je suis tout a fait d'accord avec FPARIS sur les GOTO il faut oublier les GOTO, surtout quand on fiat du .Net mias avec les autre langage c'est pareil il faut l'oublier !
cs_yoman64 Messages postés 592 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 4 décembre 2008
13 févr. 2006 à 07:56
Écoute oui je crois que t'es le roi des ...

Laisse donc le temps voyons c'est pas après quelqeus heures que tu vas nécesairement avoir des commentaires tu sais...
cs_fparis Messages postés 16 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 8 mars 2006
12 févr. 2006 à 22:04
L'idee est tres bonne !!!
Par contre, les GOTO faut oublier, en .net tu peux t'en sortir tres facilement avec des try catch
AlexDotNet Messages postés 6 Date d'inscription dimanche 12 février 2006 Statut Membre Dernière intervention 4 mars 2006
12 févr. 2006 à 18:18
c'est sympas de déposer des commentaires ...
Soit personne ne fait de .Net ou alors je suis le roi des ...

C'est vachement sympa, merci ...
AlexDotNet Messages postés 6 Date d'inscription dimanche 12 février 2006 Statut Membre Dernière intervention 4 mars 2006
12 févr. 2006 à 14:46
Mirki de déposer vos commetaires aussi constructif seront ils je l'espère.