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 :

Comment sérialiser un objet dans un fichier .dwt ?


Sujet :

C#

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Comment sérialiser un objet dans un fichier .dwt ?
    Je voulais demander comment on peut serialiser un fichier .dwt en c#, ce fichier contiendra les objets d'une classe Projets qui a pour attributs, des images, des strings ...

  2. #2
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Bonjour peut être aussi ? C'est un forum mais la politesse existe aussi sur les forums.

    Cet aparté fait, pourquoi tu veux sérialiser un fichier ? Si tu as un fichier tu as déjà ton support, donc je ne vois pas trop l'intérêt de la sérialisation après ça. Et puis on sérialise des objets en général, pas un fichier

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    bonjouR MONSIEUR!!!!

    A propos, je n'ai pas encore sérialiser le fichier mais, la sérialisation se ferra dans un le format ".dwt", mais je ne vois pas comment le faire.

  4. #4
    Membre éclairé
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Points : 681
    Points
    681
    Par défaut
    Bonjour,

    tu veux serialiser un objet comme PHP ?
    Si oui, il faut faire à la main mais je ne sais pas trop comment.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par bubulemaster Voir le message
    Bonjour,

    tu veux serialiser un objet comme PHP ?
    Si oui, il faut faire à la main mais je ne sais pas trop comment.
    C'est un objet d'une classe en C#, cet objet contient des images et des chaines des caractères.

    voici un extrait de la classe que je veux sérialiser.

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
     public   class Projets
        {
     
            #region Intitule
     
     
          private  string _Intitule;
          public string Intitule
          {
              get { return _Intitule; }
              set 
              {
                  if(_Intitule!=value)
                  _Intitule = value; 
              }
          }
            #endregion
          #region Specification
          private string _Specification;
          public string Specification
          {
              get { return _Specification; }
              set
              {
                  if (_Specification != value)
                      _Specification = value;
              }
          }
          #endregion
           #region Responsable
     
     
          private Ingenieur _Responsable;
     
          public Ingenieur Responsable
          {
              get { return _Responsable; }
              set 
              {
                  if(_Responsable!=value)
                   _Responsable=value;
              }
          }
            #endregion
            #region Profile
     
     
          private Image _Profile;
     
          public Image Profile
          {
              get { return _Profile; }
              set
              {
                  if (_Profile != value)
                      _Profile = value;
              }
          }
          #endregion
          #region Ouvriers
     
     
          private Techniciens _Ouvriers;
     
          public Techniciens Ouvriers
          {
              get { return _Ouvriers; }
              set
              {
                  if (_Ouvriers != value)
                      _Ouvriers = value;
              }
          }
          #endregion
          #region Cargo
     
          private NavCargo _cargo;
          public NavCargo cargo
          {
              get { return _cargo; }
              set 
              { if(_cargo != value)
                  _cargo = value; 
              }
          }
          #endregion
     
          public  Projets()
          {
     
          }
          public Projets(Ingenieur ir, Techniciens tech, NavCargo nav)
          {
              cargo = nav;
              Responsable = ir;
              Ouvriers = tech;
          }
          public override string ToString()
          {
              return Intitule + "\n" + Specification + "\n" + Responsable.ToString() + "\n" + cargo.ToString() + "\n" + Ouvriers.ToString(); ;
          }
     
        }

  6. #6
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    C'est plus clair comme ça, donc tu veux sérialiser un objet dans un fichier .dwt et non sérialiser un fichier .dwt (cf. ton premier message) ^^

    Si le but de la sérialisation est juste de stocker l'objet dans un fichier utilise la sérialisation binaire. Tu as aussi la sérialisation XML, plus adaptée pour le transport d'information (via Internet par exemple) mais avec des limitations à ce moment (seuls les champs publics sont pris en compte, ...).

    Un exemple de sérialisation binaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Projets monProjet;
    ...
    BinaryFormatter formatter = new BinaryFormatter();
    using (FileStream stream = new FileStream("monfichier.dwt", FileMode.Create, FileAccess.Write, FileShare.None))
    {
        formatter.Serialize(stream, monProjet);
    }
    Et la désérialisation qui va avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Projets monProjet;
    ...
    BinaryFormatter formatter = new BinaryFormatter();
    using (FileStream stream = new FileStream("monfichier.dwt", FileMode.Open, FileAccess.Read, FileShare.None))
    {
        monProjet = (Projets)formatter.Deserialize(stream);
    }
    Pour le XML ce n'est pas plus compliqué pour sérialiser/désérialiser, on utilise la classe XmlSerializer à la place de BinaryFormatter.

    Tu trouveras de nombreux tutos/articles sur le sujet en cherchant un peu, aussi bien sur ce site que sur google

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 25/01/2005, 14h26
  2. Comment faire une insertion dans un fichier texte ?
    Par Isa31 dans le forum Langage
    Réponses: 10
    Dernier message: 28/12/2004, 09h06
  3. Comment changer des mots dans un fichier?
    Par ptitbonum dans le forum Linux
    Réponses: 5
    Dernier message: 07/04/2004, 23h42
  4. Comment Copier une table dans un fichier?
    Par thx2003 dans le forum Requêtes
    Réponses: 2
    Dernier message: 15/12/2003, 12h09
  5. [arbre] Sauvegarder un objet dans un fichier
    Par Guigui_ dans le forum Langage
    Réponses: 6
    Dernier message: 07/02/2003, 00h55

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