ListView Speicher...wie?

  • Allgemein

Es gibt 16 Antworten in diesem Thema. Der letzte Beitrag () ist von Manschula.

    ListView Speicher...wie?

    Hallo,

    Ich wollte mir mal wieder nen Streamer zusammenbaun.
    Dazu verwende ich nun eine Listview mit mehereren Spalten:
    Name Gerne Land URL

    Nun ist meine Frage:
    Wie speichere ich diese am besten. (nicht extern)
    Laden natürlich auch^^

    bitte um hilfe ;D
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    Außer My.Settings würde mir da spontan nichts einfallen, da du ja nicht extern speichern willst.
    Du könntest natürlich dein ListView an ne Datenbank-Source anbinden, dann werden die Daten gelesen aus der DB und werden in die DB geschrieben.
    Einfach mit einer Schleife durchgehen, und mit einen Streamwriter schreiben.

    Ich weiß nicht wo das Problem liegt, extern zu speichern, geht doch ganz einfach:

    VB.NET-Quellcode

    1. Dim vpr as new IO.Streamwriter("path")
    2. For i = 0 Listview1.Items.Count -1
    3. vpr.Writeline(Listview1.Items(i).Text)
    4. Next
    5. vpr.close
    Hey,

    dbsystel schrieb:

    Außer My.Settings würde mir da spontan nichts einfallen, da du ja nicht extern speichern willst.

    was meinst du/ihr denn mit "extern"? Auch My.Settings wird in einer externen Datei gespeichert. Das nachträgliche und dauerhafte Speichern von Daten und Informationen im Programm, d.h. ohne separate Datei, ist nicht möglich.

    Beispiele, wie man eine Listview in eine Textdatei speichert und wieder lädt, finden sich hier im Forum. Zum Beispiel hier: [VB 2008] ListView speichern oder auch hier: [VB.NET] ListView Inhalt - Speichern bzw. Laden Es ist also durchaus ratsam und geboten, vor dem Erstellen eines neuen Themas die Suchfunktion zu bemühen ;)

    Gruß, Manschula

    ThuCommix schrieb:

    Einfach mit einer Schleife durchgehen, und mit einen Streamwriter schreiben.

    Ich weiß nicht wo das Problem liegt, extern zu speichern, geht doch ganz einfach:

    VB.NET-Quellcode

    1. Dim vpr as new IO.Streamwriter("path")
    2. For i = 0 Listview1.Items.Count -1
    3. vpr.Writeline(Listview1.Items(i).Text)
    4. Next
    5. vpr.close

    wie genau macht der das dann?


    Und ja My.Settings würde gehen also nur wie?
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    Hey,

    Gather schrieb:

    wie genau macht der das dann?

    es ist mir ein Rätsel; es werden dir hier mindestens zwei lauffähige, Copy&Paste- fähige Lösungsmöglichkeiten sowie ein Verweis auf die durchaus brauchbare Suchfunktion angeboten und dann...

    Die My.Settings-Methode für Listview-Informationen halte ich im übrigen für etwas unpassend.

    Gruß, Manschula

    Manschula schrieb:

    Hey,

    Gather schrieb:

    wie genau macht der das dann?

    es ist mir ein Rätsel; es werden dir hier mindestens zwei lauffähige, Copy&Paste- fähige Lösungsmöglichkeiten sowie ein Verweis auf die durchaus brauchbare Suchfunktion angeboten und dann...

    Die My.Settings-Methode für Listview-Informationen halte ich im übrigen für etwas unpassend.

    Gruß, Manschula
    Ich will ja net C&P ich will lernen DESWEGEN:

    Wie genau macht der das dann?
    Edit:// Ja ich weiß, er schreibt die Items in jede zeile und so...
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    Dann sieh Dir die Lösungen an und vollziehe sie nach, ohne sie abzuschreiben.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ok zur erklärung:

    VB.NET-Quellcode

    1. Dim vpr as new IO.Streamwriter("path") ' Sollte eigentlich klar sein
    2. For i = 0 Listview1.Items.Count -1 ' Schleife die alle Items in deiner Listview abarbeitet ( -1 , weil der Index mit 0 beginnt)
    3. vpr.Writeline(Listview1.Items(i).Text) 'Schreibe in Linie 1 der Txt Datei den Text des ersten Items usw...
    4. Next
    5. vpr.close 'Datei schließen
    Ich dachte das könne er sich zusammen reimen...

    VB.NET-Quellcode

    1. Dim vpr as new IO.Streamwriter("path") ' Sollte eigentlich klar sein
    2. For i = 0 Listview1.Items.Count -1 ' Schleife die alle Items in deiner Listview abarbeitet ( -1 , weil der Index mit 0 beginnt)
    3. vpr.Writeline(Listview1.Items(i).Text) 'Schreibe in Linie 1 der Txt Datei den Text des ersten Items usw...
    4. vpr.Writeline(Listview1.Items(i).SubItems(1).Text)
    5. vpr.Writeline(Listview1.Items(i).SubItems(2).Text)
    6. vpr.Writeline(Listview1.Items(i).SubItems(3).Text)'Kommt drauf an wieviele Spalten du hast.
    7. Next
    8. vpr.close 'Datei schließen



    Einlesen:

    VB.NET-Quellcode

    1. Dim vpr as new IO.StreamReader("path") ' Sollte eigentlich klar sein
    2. While Not vpr.EndofStream
    3. With Listview1.Items.Add(vpr.ReadLine)
    4. .SubItems.Add(vpr.ReadLine)
    5. .SubItems.Add(vpr.ReadLine)
    6. .SubItems.Add(vpr.ReadLine)
    7. End With
    8. Next
    9. vpr.close 'Datei schließen
    Hey,

    ThuCommix schrieb:

    Ich dachte das könne er sich zusammen reimen...

    aso. Dann kann er sich in deinem erweiterten Beispiel jetzt auch zusammen-reimen, dass Subitems n-Mal pro Reihe vorkommen können, weshalb eine Schleife wohl sinnvoller wäre. Insofern wären wir dann wieder bei den verlinkten Beispielen angekommen.

    Gruß, Manschula
    ...
    Also erstmal danke, dass ich hier so dumm dagestellt werde...
    Nur weil ich mich damit nicht auskenne, ich arbeite nunmal nicht oft mit listviews.

    Und noch danke and ThuCommix für die erklärung^^

    Edit:// Ich werd dann mal testen
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!