Listview Inhalt in Txt Speichern und Laden

  • VB.NET

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

    Listview Inhalt in Txt Speichern und Laden

    Moin Leute,

    Ich hab zu dem Thema zwar schon viel gefunden, aber nichts hilft mir weiter.

    Ich möchte das meine Listview Inhalt in eine Txt gespeichert wird und dann beim starten wieder eingelesen wird (Listview hat 2 Spalten)

    Wenn es nicht geht das man das in Txt abspeichern kann ist mir auch alles andere recht

    Danke im Vorraus:)
    Ja, du könntest die Items natürlich in reinem Textformat speichern, jedoch würde das die ganze Sache ein wenig komplizierter machen, als sie sein muss.
    Ich habe dir hier einen kleinen Code gebastelt, der die Items eines ListViews speichern und laden kann:

    VB.NET-Quellcode

    1. Private Sub SaveListViewItems(ByVal lv As ListView, ByVal path As String)
    2. Using Writer As New System.IO.BinaryWriter(System.IO.File.Open(path, System.IO.FileMode.Create, System.IO.FileAccess.Write))
    3. For Each Item As ListViewItem In lv.Items
    4. For Each Subitem As ListViewItem.ListViewSubItem In Item.SubItems
    5. Writer.Write(Subitem.Text)
    6. Next
    7. Next
    8. End Using
    9. End Sub
    10. Private Sub LoadListViewItems(ByVal lv As ListView, ByVal path As String)
    11. Using Reader As New System.IO.BinaryReader(System.IO.File.Open(path, System.IO.FileMode.Open, System.IO.FileAccess.Read))
    12. While Reader.BaseStream.Position < Reader.BaseStream.Length
    13. With lv.Items.Add(Reader.ReadString())
    14. For i As Integer = 1 To lv.Columns.Count - 1
    15. .SubItems.Add(Reader.ReadString())
    16. Next
    17. End With
    18. End While
    19. End Using
    20. End Sub
    Aufruf ist ganz einfach:

    VB.NET-Quellcode

    1. ' speichern
    2. SaveListViewItems(DeinListView, "pfad")
    3. ' laden
    4. LoadListViewItems(DeinListView, "pfad")
    Wenn du einen relativen Pfad angibst (i.e ohne Laufwerksbuchstaben), dann nimmt er den Pfad relativ zur Anwendung (sofern nicht umgestellt).
    mit application.startuppath ists aber besser, denn wenn nur ein relativer pfad angegeben wird nimmt er den pfad relativ zum Ausführüngsverzeichnis, und das muss nicht unbedingt gleich dem ordner sein in dem die exe liegt.

    Evolutio schrieb:

    Meinst du das so?:

    VB.NET-Quellcode

    1. If File.Exists(Application.StartupPath & "\Server.ini") = False Then
    2. File.Create(Application.StartupPath & "\Server.ini")
    3. End If


    So wurde mir das gezeigt mit einer meiner Datein
    Beim mir kommt dann:

    Der Zugriff auf den Pfad "C:\Users\Lukas\documents\visual studio 2010\Projects\LAN_SPIELE_STARTER\LAN_SPIELE_STARTER\bin\Debug" wurde verweigert.


    bei der Zeile:

    VB.NET-Quellcode

    1. Using Writer As New System.IO.BinaryWriter(System.IO.File.Open(path, System.IO.FileMode.Create, System.IO.FileAccess.Write))
    Habe ne frage zu der Lösung von Haiyyu:

    Unzwar kann ich auch mehrere Werte in einer Zeile Speichern? Also zb.: Dateiname, Größe, Änderungsdatum?

    Bekomme es gerade nur untereinander hin durch die For Each Schleife.

    Im grunde müsste ich wissen wie ich das Element in der UnterSchleife um eins erhöhen kann ohne das die Unterschleife neu aufgerufen wird.

    Hoffe ihr versteht was ich meine. :)
    und wie bekomme ich dann 3 werte in eine Zeile?

    Also mit 3 Werte in eine Zeile mein ich dann die Textdatei. Bisher wird alles untereinander aufgelistet. Ich rede nicht von der Listview!

    Zur zeit sieht die txt so aus.
    Dateiname
    Größe
    Datum

    ich möchte aber das die txt so aussieht:

    Dateiname Größe Datum

    Das mein ich mit den 3 werten.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „prophet“ ()

    Listview Inhalt in Ressourcen speichern

    Moin Leute,

    ich verzweifel langsam dran.. ich will listview inhalt in Ressourcen speichern.

    Ist das möglich ?

    wenn nicht wie kann ich den Inhalt anders speichern ?


    Danke schon mal im Voraus


    Mit freundlichen Grüßen AIRGAMER :thumbsup:

    *Topics zusammengeführt*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Ressourcen werden bei der Entwicklung angelegt.
    ListView-Inhalte kannst Du während der Entwicklung in den Ressourcen bereitstellen und während der Laufzeit verwenden.
    Dier Umkehrung geht nicht. Du kannst diese bestenfalls in My.Settings ablegen.
    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!
    Hei Ho

    ich bin in der welt von Visual Basic, ich hab das mal ausprobiert mit deinem Quell Code, bei mir kommt die meldung

    Der Zugriff auf den Pfad "C:\Users\Andreas\Desktop\Listen" wurde verweigert.

    ich habe den speicher ort gewechselt, aber es kommt immer die gleiche meldung, ich bitte um rat :)
    Die letzte Antwort war am 28. Januar 2012.

    => Closed.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!: