desalib
Messages postés9Date d'inscriptionvendredi 15 août 2008StatutMembreDernière intervention22 mai 2010
-
14 mai 2010 à 18:30
desalib
Messages postés9Date d'inscriptionvendredi 15 août 2008StatutMembreDernière intervention22 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.
desalib
Messages postés9Date d'inscriptionvendredi 15 août 2008StatutMembreDernière intervention22 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) :
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()
cs_ShayW
Messages postés3253Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention 3 décembre 201957 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