Was ist der beste Weg, zu speichern, ein array von Strukturen in VB.NET?

Habe ich 2 Strukturen

Public Structure One                    
        Public ItemOne As String
        Public ItemTwo As Integer
    End Structure

    Public Structure Two                   
        Public ItemOne As String
        Public ItemTwo As Integer
        Public ItemThree As Integer
        Public ItemFour As Integer
        Public ItemFive As Integer
    End Structure

Public TestOne(0) as One
Public TestTwo(19) as Two

Mit dem FileOpen, FilePut und FileClose Methode, bekomme ich eine Fehlermeldung: (Abgespeckte nur im Zusammenhang mit code als Beispiel)

    Public Sub WriteOne()
                FileOpen(1, "One.dat", OpenMode.Random, OpenAccess.Write)
                FilePut(1, TestOne)
                FileClose(1)
    End Sub

    Public Sub ReadOne()
                FileOpen(1, "One.dat", OpenMode.Random, OpenAccess.Read)
                FileGet(1, TestOne)
                FileClose(1)
    End Sub

    Public Sub WriteTwo()
                FileOpen(1, "Two.dat", OpenMode.Random, OpenAccess.Write)
                FilePut(1, TestTwo)
                FileClose(1)
    End Sub

    Public Sub ReadTwo()
                FileOpen(1, "Two.dat", OpenMode.Random, OpenAccess.Read)
                FileGet(1, TestTwo)
                FileClose(1)
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ReadOne()
        ReadTwo()
        Label1.Text = Cstr(TestOne(0).ItemTwo)
        Label2.Text = Cstr(TestTwo(4).ItemFour)
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        TestOne(0).ItemTwo = 9
        TestTwo(4).ItemFour = 78
        WriteOne()
        WriteTwo()
    End Sub

Ergebnisse In einer nicht behandelten Ausnahme. Falsche Datensatzlänge.
und dann Wenn ich es schließen und erneut öffnen, erhalte ich 'Unable to read beyond end of stream' - Fehler.

Also, was ist der beste Weg, um zu speichern, ein array von Strukturen? Binäre Reader/Writer? und warum funktioniert dieser Weg nicht funktionieren (Auch wenn seine abgeleitet aus VB6)

  • Die Ergebnisse in der Ausnahme?
  • Ah sorry, Zeile 34 In Modul1 [FilePut(1, TestTwo)], Zeile 14 in Form1 [WriteOne()] arrays und Lesen/schreiben subs sind in einem anderen Modul. Ereignisse werden in form1.
InformationsquelleAutor Skeela87 | 2011-05-31
Schreibe einen Kommentar