vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 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
Re: Hash Table speichern/laden 
Autor: Kalli
Datum: 13.02.08 22:39

Hier ein bisschen Code zum Zauberwort. Da der Thread nun mal mit Hash Table angefangen hat, bleibe ich dabei (mit Dictionary geht das genauso).
Hash Table speichern und laden per Serialisierung:
Also erstellt ein Form mit einer Textbox und zwei Knöppgens:
Public Class Form1
'Hashtable erzeugen
    Private has As Hashtable = New Hashtable
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) _
      Handles Me.Load
        Dim i As Integer
'Hashtable mit Strings füllen
        For i = 0 To 10
            has.Add(i, "AAA" & i.ToString)
        Next
    End Sub
 
    Private Sub Form1_Shown(ByVal sender As Object, ByVal e As _
      System.EventArgs) Handles Me.Shown
        Dim i As Integer, b As String = ""
'Inhalt der Hash Table anzeigen
        For i = 0 To 10
            b += has(i) & vbCrLf
        Next
        TextBox1.Text = b
    End Sub
 
    Private Sub Button1_Click(ByVal sender As Object, ByVal e As _
      System.EventArgs) Handles Button1.Click
'Hash Table speichern
        Dim fs As New IO.FileStream("Test.has", IO.FileMode.OpenOrCreate)
        Dim bf As New _
          System.Runtime.Serialization.Formatters.Binary.BinaryFormatter()
        bf.Serialize(fs, has)
        fs.Close()
    End Sub
 
    Private Sub Button2_Click(ByVal sender As Object, ByVal e As _
      System.EventArgs) Handles Button2.Click
        Dim i As Integer, b As String = ""
'Hash Table laden und wieder anzeigen
        If IO.File.Exists("Test.has") Then
            Dim fs As New IO.FileStream("Test.has", IO.FileMode.Open)
            Dim bf As New _
              System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
            has.Clear()
            has = CType(bf.Deserialize(fs), Hashtable)
            For i = 0 To 10
                b += has(i) & vbCrLf
            Next
            TextBox1.Text = b
        Else
            TextBox1.Text = "Nichts gefunden"
        End If
    End Sub
End Class
Das Wesentliche der ganzen Angelegenheit ist die Tatsache, dass man in VB.Net die unterschiedlichsten Objekte in eine Binärform bringen kann und als Binärstream speichern. Dabei werden alle Informationen über die ursprüngliche Ausgangsform dem Stream hinzugefügt. Beim Laden des Streams können diese Informationen wieder ausgelesen und die Daten wieder ihrer richtigen Bestimmung zugeführt werden.
Mit diesem Code gebe ich natürlich nur einen "Einsprungspunkt" für das weite Gebiet "Serialisierung".

Dont debug, because there will allways be one more bug

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Hash Table speichern/laden2.105Kalli13.02.08 09:19
Re: Hash Table speichern/laden1.588ModeratorFZelle13.02.08 09:59
Re: Hash Table speichern/laden1.600Kalli13.02.08 10:43
Re: Hash Table speichern/laden1.603ModeratorFZelle13.02.08 15:38
Re: Hash Table speichern/laden1.756Kalli13.02.08 16:48
Re: Hash Table speichern/laden2.492Kalli13.02.08 22:39
Re: Hash Table speichern/laden1.542ModeratorFZelle14.02.08 09:33
Re: Hash Table speichern/laden2.323Kalli14.02.08 10:57

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