Vous êtes sur la page 1sur 5

Dveloppement d'Applications Informatiques et Gnie Logiciel

Visual Basic.Net / TP N10

Srialisation en VISUAL BASIC . NET


Quand un objet est dtruit (fin de programme), les valeurs de ses proprits sont perdues. Si les valeurs de lobjet changent et doivent tre retrouves lors dune utilisation ultrieure du programme, il faut les enregistrer, pour cela on peut aussi utiliser la srialisation. Dfinitions : La srialisation est le processus de conversion dun objet ou dun groupe dobjets en squence linaire doctets pour stockage ou transmission un autre emplacement. Elle consiste donc stocker les valeurs des attributs dune instance dun objet dans un fichier qui peut tre au format binaire, xml ou Soap. La dsrialisation est le processus consistant accepter des informations stockes et recrer des objets partir de celles-ci.

EXERCICE N1 : La srialisation binaire. 1- Crer la classe Salaries 2- Pour que la classe soit srialisable , il faut ajouter <Serializable()> Public ... Lattribut Serializable indique donc au compilateur que tout ce que contient la classe peut tre conserv dans un fichier. Lattribut NonSerialized peut tre utilis pour marquer les membres de la classe qui ne doivent pas tre conservs. <NonSerialized()> Public ... 3- Dans les rfrences, ajouter les espaces de noms :

4 - Crer l'interface graphique suivante : Si on clique sur "Srialiser" on enregistre dans le fichier "Salarie.bin" les informations qui ont t saisies.
'dclaration d'un fichier Dim monFichier As Stream = File.Create(... 'dclaration du "srialiseur" Dim serialiser As New BinaryFormatter() 'srialisation serialiser.Serialize(... 'fermeture du ficher monFichierSerialisation....

S. T. S. - I.G Deuxime anne

page 772

TP VB.NET N10 : Srialisation en VB.NET

Dveloppement d'Applications Informatiques et Gnie Logiciel

Visual Basic.Net / TP N10

5- Vrifier que le fichier "Salarie.bin" a bien t cre

6 - Si on clique sur "Dsrialiser" on rcupre dans le fichier les informations.


'dclaration d'un fichier Dim monFichier As Stream = File.OpenRead(... 'dclaration du dsrialisateur Dim deserialiser As New BinaryFormatter() 'dsrialisation unSalarie = CType(deserialiser.Deserialize(... 'fermeture du fichier monFichierSerialisation....

La mthode CType est utilise pour la conversion du type dobjet Stream en type Salarie.

EXERCICE N2 : La srialisation d'une collection. 1- Dans les rfrences, ajouter les espaces de noms :

2 - Crer l'interface graphique suivante :

3 -Utiliser la classe Salaries 4 - En faire une collection


Dim unSalarie As Salaries Dim mesSalaries As New Microsoft.VisualBasic.Collection

5 - Ajouter quelques objets dans la collection


S. T. S. - I.G Deuxime anne page 773

Dveloppement d'Applications Informatiques et Gnie Logiciel

Visual Basic.Net / TP N10

6 -Srialiser la collection : Dim fs As New FileStream(... Dim formatter As New BinaryFormatter formatter.Serialize(... fs.Close() 7 -Dsrialiser la collection : Dim fs As New FileStream(... Dim formatter As New BinaryFormatter
mesSalaries = CType(formatter.Deserialize(fs), Microsoft.VisualBasic.Collection)

fs.Close() 8 -Afficher la collection : For Each ... ... Next unSalarie 9 -Amlioration :

EXERCICE N3 : La srialisation XML. La srialisation XML ne srialise que les champs publics et les valeurs des proprits dun objet (si elles ne sont pas en lecture seule) dans un flux XML. La srialisation ninclut pas dinformations de type. 1- Dans les rfrences, ajouter les espaces de noms :

S. T. S. - I.G Deuxime anne

page 774

Dveloppement d'Applications Informatiques et Gnie Logiciel

Visual Basic.Net / TP N10

2- Crer une nouvelle classe "Salaries" avec des proprits (deux mthodes d'accs aux valeurs prives des champs). Private UnNom As String Public Property Nom() As String Get Nom = Me.UnNom End Get Set(ByVal value As String) Me.UnNom = value End Set End Property

3- Crer une constructeur sans paramtre. Sub New() End Sub

4- Crer L'interface graphique suivante :

5- Srialisation XML : 'ouverture d'un fichier en criture Dim objStreamWriter As New StreamWriter(... 'cration d'un srialiseur XML Dim x As New XmlSerializer(unSalarie.GetType) 'on srialise l'objet x.Serialize(... 'on ferme le fichier objStreamWriter....

S. T. S. - I.G Deuxime anne

page 775

Dveloppement d'Applications Informatiques et Gnie Logiciel

Visual Basic.Net / TP N10

6- Vrifier le fichier XML :

7- Dsrialisation XML : 'ouverture d'un fichier en lecture Dim objStreamReader As New StreamReader(... 'cration d'un srialiseur XML Dim x As New XmlSerializer(unSalarie.GetType) 'on dsrialise l'objet unSalarie = x.Deserialize(objStreamReader) 'on ferme le fichier objStreamReader....

S. T. S. - I.G Deuxime anne

page 776

Vous aimerez peut-être aussi