vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Serialisierung (Beispiel) 
Autor: Manfred X
Datum: 26.03.10 13:13

Primitiv-Beispiel für eine serialisierbare Klasse,
die ein Array von tTemp-Structures kapselt:
<System.Serializable()> _
<System.Runtime.InteropServices.StructLayout _
(System.Runtime.InteropServices.LayoutKind.Sequential)> _
Public Structure tTest
        Public strA As String
        Public intA As Integer
        Public blnA As Boolean
End Structure
 
<System.Serializable()> _
<System.Runtime.InteropServices.StructLayout 
(System.Runtime.InteropServices.LayoutKind.Sequential)> _
Public Structure tTemp
        Public tT As tTest
        Public lngA As Long
End Structure
   <System.Serializable()> _
   Public Class tTempArr
 
        'Gekapseltes Array 
        Private _tarr() As tTemp
 
        'Deklaration per Konstruktor 
        Public Sub New(ByVal upperbound As UInteger)
            ReDim _tarr(CInt(upperbound))
        End Sub
 
        Public ReadOnly Property UpperBound() As Integer
            Get
                Return _tarr.GetUpperBound(0)
            End Get
        End Property
 
        'Zugriff auf Array-Element 
        Default Public Property Element _
            (ByVal index As Integer) As tTemp
            Get
                Return _tarr(index)
            End Get
            Set(ByVal value As tTemp)
                _tarr(index) = value
            End Set
        End Property
 
        'Speichern 
        Public Function Serialize _
        (ByVal Filename As String) As Boolean
 
            Dim fs As System.IO.FileStream
            Try
                Dim bf As New System.Runtime.Serialization. _
                Formatters.Binary.BinaryFormatter
                fs = New System.IO.FileStream(Filename, _
                                System.IO.FileMode.OpenOrCreate, _
                                System.IO.FileAccess.Write, _
                                System.IO.FileShare.None)
                bf.Serialize(fs, Me) : fs.Close() : Return True
            Catch ex As System.Exception
                If fs IsNot Nothing Then fs.Close()
                fs.Close() : Return False
            End Try
        End Function
 
        'Laden  
        Public Function Deserialize _
        (ByVal Filename As String) As Boolean
            Try
                Dim bf As New System.Runtime.Serialization. _
                Formatters.Binary.BinaryFormatter
                Dim fs As New System.IO.FileStream(Filename, _
                                      System.IO.FileMode.Open, _
                                      System.IO.FileAccess.Read, _
                                      System.IO.FileShare.Read)
                Dim inp As tTempArr = CType(bf.Deserialize(fs), tTempArr)
                fs.Close()
                _tarr = inp._tarr : Return True
            Catch ex As System.Exception
                Return False
            End Try
        End Function
   End Class
Verwendung:
     Dim ttm As New tTemp
     With ttm
         With .tT
                .strA = "stra"
                .intA = 100
                .blnA = True
         End With
     End With
 
     'Klassen-Instanz (Array) erstellen  
     Dim tarr As New tTempArr(10)
     For i As Integer = 0 To 10
        ttm.lngA = i : tarr(i) = ttm
     Next i
 
     'Array in File speichern  
     If Not tarr.Serialize("J:\Daten\ttemparr.ser") Then Stop
 
     'Array-Daten aus File laden 
     Dim tarr2 As New tTempArr(0)
     If Not tarr2.Deserialize("J:\Daten\ttemparr.ser") Then Stop
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Structures erweiterbar laden/speichern...2.120Heinz-Josef Bom...23.03.10 08:26
Re: Structures erweiterbar laden/speichern...1.465Manfred X23.03.10 09:40
Re: Structures erweiterbar laden/speichern...1.434Heinz-Josef Bom...26.03.10 10:05
Re: Structures erweiterbar laden/speichern...1.462Manfred X26.03.10 12:11
Serialisierung (Beispiel)1.848Manfred X26.03.10 13:13
Re: Serialisierung (Beispiel)1.462Heinz-Josef Bom...01.04.10 04:04

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel