Classe permettant la sérialisation - désérialisation d'une LameGrid. Accompagnée d'un exemple d'utilisation (zip)
Source / Exemple :
Option Strict On
Option Explicit On
Imports System.IO
Imports System.Runtime.Serialization.Formatters.Binary
Public Class Serial_Deserial_LameGrid
Public X_ As Integer
Public Y_ As Integer
Private _Grille(X_, Y_) As String
Public Property grille() As Array
Get
grille = _Grille
End Get
Set(ByVal value As Array)
_Grille = CType(value, String(,))
End Set
End Property
Public Sub SerialiseLameGrid(ByVal path As String, ByVal NbLigne As Integer, _
ByVal NbColonne As Integer, ByVal Grille(,) As String, _
ByVal ControlLG As LameGrid.Grid)
Dim LeFlux As Stream = File.Create(path) 'préparation du flux
Dim serializer As New BinaryFormatter
For x = 0 To NbLigne - 1 'Pour chaque ligne
For y = 0 To NbColonne - 1 'Pour chaque colonne
Grille(x, y) = ControlLG(x, y).Text 'on remplit un tableau avec la lamegrid
Me._Grille = Grille 'on affecte le tableau à l'objet grille
Next
Next
serializer.Serialize(LeFlux, Me._Grille) 'on serialise
LeFlux.Flush()
LeFlux.Close()
LeFlux.Dispose()
End Sub
Public Sub DeserialiseLamegrid(ByVal path As String, ByVal NbLigne As Integer, _
ByVal NbColonne As Integer, ByVal Grille(,) As String, _
ByVal ControlLG As LameGrid.Grid)
Dim LeFlux As Stream = File.OpenRead(path) 'on prépare le flux
Dim deserializer As New BinaryFormatter
Me._Grille = CType(deserializer.Deserialize(LeFlux), String(,)) 'on deserialise le fichier dans l'object grille
Grille = CType(Me._Grille, String(,)) 'on met l'objet grille dans un tableau
For x = 0 To X_
For y = 0 To Y_
ControlLG(x, y).Text = Grille(x, y) 'on remplit la lamegrid depuis le tableau
Next
Next
ControlLG.Refresh()
LeFlux.Close()
LeFlux.Dispose()
End Sub
End Class
Conclusion :
Malgré quelques applications à mon actif, c'est ma première source déposée sur codes-sources.com. J'accepte les critiques et les commentaires mais soyez indulgents ;)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.