Mehrere ListBoxen in einer Datei speichern.

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von Tim B..

    Mehrere ListBoxen in einer Datei speichern.

    Hallo,
    ich speichere meine ListBox 1 mit diesem "Code"

    VB.NET-Quellcode

    1. Private Sub SpeichernToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SpeichernToolStripMenuItem.Click
    2. SaveFileDialog1.ShowDialog()
    3. Dim sb As New StringBuilder()
    4. For Each Item As Object In Me.ListBox1.Items
    5. sb.AppendLine(Item.ToString)
    6. Next
    7. File.WriteAllText(SaveFileDialog1.FileName, sb.ToString)
    8. End Sub

    Aber wie kann ich ListBox 2 und ListBox 3 in der selben Datei (die durch den 'SaveFileDialog' ausgewählt wird) speichern ?
    Vielen Dank und
    Mfg Tim
    PS: Habe in die SuFu bereits meine Überschrift eingegeben habe jedoch nichts gefunden.
    Wenn die Unterteilung der einzelnen ListBox-Bereiche egal ist, dann gehts genau gleich. Müsstest du aber auch wissen..

    VB.NET-Quellcode

    1. Private Sub SpeichernToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SpeichernToolStripMenuItem.Click
    2. SaveFileDialog1.ShowDialog()
    3. Dim sb As New StringBuilder()
    4. For Each Item As Object In Me.ListBox1.Items
    5. sb.AppendLine(Item.ToString)
    6. Next
    7. For Each Item As Object In Me.ListBox2.Items
    8. sb.AppendLine(Item.ToString)
    9. Next
    10. For Each Item As Object In Me.ListBox3.Items
    11. sb.AppendLine(Item.ToString)
    12. Next
    13. File.WriteAllText(SaveFileDialog1.FileName, sb.ToString)
    14. End Sub
    Stimmt, da hast du recht aber da habe ich dann ein Problem ich benutze folgenden 'Code' zum Auslesen:

    VB.NET-Quellcode

    1. Private Sub LadenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LadenToolStripMenuItem.Click
    2. ListBox1.Items.Clear()
    3. OpenFileDialog1.ShowDialog()
    4. Dim Array() As String = Nothing
    5. Array = File.ReadAllText(OpenFileDialog1.FileName).Split(CChar(vbCrLf))
    6. Me.ListBox1.Items.AddRange(Array)
    7. End Sub

    Und wenn ich es dann noch bei den anderen haben will, wie sollte dass dann funktionieren ?
    Weil jetzt würde ja doch eigentlich die Items aus ListBox1, ListBox und ListBox3 in ListBox 1 stehen oder sehe ich das falsch ?
    Danke und
    Mfg
    Tim
    Siehst du richtig.
    Nimm xml als gerüst dann kannst du beliebig viele Listboxen in deiner Datei speichern ohne großen aufwand.
    Oder du musst eine Art Keyword hinterlegen in der Datei nach dem du suchst wärend du die Datei einliest.
    Dann köntest du das auch auf die Listboxen verteilen.
    machts doch nich so kompliziert... mit StreamWriter alle ListBoxen hintereinander einschreiben und entweder in der ersten Zeile die Zeilenanzahl der Listboxen abspeichern (dass dus beim Auslesen berücksichtigen lässt), oder zwischen die Listboxen irgend ein Kennzeichen einschreiben. Mit StreamReader wieder auslesen, und sich da halt entweder an die Zeilenzahl am Dateianfang oder an die Kennzeichen richten
    Und bevor du fragst, was nen StreamReader/Writer ist - dafür gibts im Forum und Google mehr als genug