Sauvegarder une class

Résolu
desalib Messages postés 9 Date d'inscription vendredi 15 août 2008 Statut Membre Dernière intervention 22 mai 2010 - 14 mai 2010 à 18:30
desalib Messages postés 9 Date d'inscription vendredi 15 août 2008 Statut Membre Dernière intervention 22 mai 2010 - 22 mai 2010 à 20:15
Bon, tout d'abord salutation à vous et bonne journée.

Alors voici : J'ai appris recemment à sauvegarder une "structure" de cette façon.

structure exemple

<VBFixedString(20)> dim nom as string
<VBFixedString(20)> dim prenom as string
dim valeur as integer

end structure

dim exemple2(10) as exemple
dim numfichier as integer = freefile
dim nomfichier as string = "data.sav"

 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

FileOpen(numFichier, nomFichier, OpenMode.Random, OpenAccess.Write, , Len(exemple2))
FilePut(numFichier, exemple2, 1)
FileClose(numFichier)

end sub



Bon alors ma question est : Est-ce possible de faire la même chose avec les variable d'une class?

Public Class Form1

public exemple2 as new exemple

end class

public class exemple

<VBFixedString(20)> public nom as string
<VBFixedString(20)> public prenom as string
public valeur as integer

end class



Dans ce cas si ce serait de sauvegarder exemple2, j'ai déjà asseiller mais je bloque à fileopen car je crois qu'il de réussi pas à trouver la longueur.

Enfin, merci de m'avoir lu et a bientôt.

2 réponses

desalib Messages postés 9 Date d'inscription vendredi 15 août 2008 Statut Membre Dernière intervention 22 mai 2010
22 mai 2010 à 20:15
Enfin, en binaire j'ai pas trouver par contre en xml oui (plus précisément la sérialisation). Bon alors pour les interesser (remplacer exemple2 par votre variable class (dim exemple2 as nomClass) et nomFichier par le chemin/nom désiré pour la sauvegarde) :

Voici les imports à utiliser (si vous savez créé des class vous savez probablement ce que c'est alors je ne déveloperai pas) :

Imports System.Xml.Serialization
Imports System.IO



Pour enregistrer sa ressemble à ça :

Dim stream As StreamWriter = New StreamWriter(nomFichier)
Dim serializer As XmlSerializer = New XmlSerializer(exemple2.GetType)
serializer.Serialize(stream, exemple2)
stream.Close()



Pour récuperer le contenu sa ressemble à ça :

Dim stream As StreamReader = New StreamReader(nomFichier)
Dim deserializer As XmlSerializer = New XmlSerializer(exemple2.GetType)
exemple2 = deserializer.Deserialize(stream)
stream.Close()
3
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
16 mai 2010 à 01:19
Salut
Je ne pense pas et comme tu as essayé tu as reçu un error message?
fileopen(......,len(exemple))
len(exemple) exemple doit etre défini comme
structure type et pas comme class sinon on ne peut pas définir la longueur
0
Rejoignez-nous