Ergebnis 1 bis 7 von 7
  1. #1
    Trojaner
    Registriert seit
    02.03.2008
    Beiträge
    97

    Standard [VB.Net] Listview einträge in abspeichern und auslesen

    Hi folks, Ich kriegs nicht auf die Reihe die Einträge abzuspeichern (In .txt oder what ever) und dann Auszulesen. Das heist er soll es z.b so speichern: Eintrag1:Sub1:Sub2 Und dann beim Auslesen in die Listview einfügen. Kann mir wer helfen ? Mfg Nehgative
    Freehack FTW ! Freehack FTW !
    Freehack FTW ! Freehack FTW !
    Freehack FTW ! Freehack FTW !

  2. #2
    Capt'n Crunch Avatar von hackerking
    Registriert seit
    08.11.2008
    Beiträge
    964

    Standard

    Dim SW As New StreamWriter("PATH")
    For j = 1 To ListView1.Items.Cout
    SW.WriteLine(ListView1.Items(j).Text)
    Next i

  3. #3
    Trojaner
    Registriert seit
    02.03.2008
    Beiträge
    97

    Standard

    Hab es jetz so:
    Code:
            Dim SW As New StreamWriter("C:\text.txt")
            For j = 1 To ListView1.Items.Count
                SW.WriteLine(ListView1.Items(j - 1).Text)
            Next j
            SW.Close()
    Aber er speichert dann nur den Eintrag ohne SubItems.

    Und 2. Wie lese ich jetz die Einträge wieder ein ?
    Freehack FTW ! Freehack FTW !
    Freehack FTW ! Freehack FTW !
    Freehack FTW ! Freehack FTW !

  4. #4

    Registriert seit
    17.06.2009
    Beiträge
    559

    Standard

    Code:
        Public Sub LVSave(ByRef LV As ListView, ByVal File As String)
            Dim s As String = ""
            For I As Integer = 0 To LV.Items.Count - 1
                s += LV.Items.Item(I).Text & ":"
                For J As Integer = 0 To LV.Items.Item(I).SubItems().Count - 1
                    s += LV.Items.Item(I).SubItems(J).Text & ":"
                Next
                s += vbNewLine
            Next
            System.IO.File.WriteAllText(File, s)
        End Sub
    
        Public Sub LVLoad(ByRef LV As ListView, ByVal File As String)
            Dim s() As String, t As String, u() As String
            s = System.IO.File.ReadAllLines(File)
            For Each t In s
                u = Split(t, ":")
                With LV.Items.Add(u(0), u(1))
                    For I As Integer = 2 To LV.Columns.Count
                        .SubItems.Add(u(I))
                    Next
                End With
            Next
        End Sub
    Das ist aber keine optimale Lösung, vor allem wegen dem Trennzeichen.
    Schau dir am besten mal ein paar Beispiele zu INI/XML, typisierte Dateien und/oder Datenbanken an.

  5. #5
    Trojaner
    Registriert seit
    02.03.2008
    Beiträge
    97

    Standard

    WoW danke Inout, Die Save funktion hab ich eingebaut leider speichert er den Eintrag doppelt hintereinander, die Subitems sind richtig (1mal)

    Edit: In der Load funktion (hab die .txt richtig gemacht) Krieg ich beim debuggen in der Zeile: .SubItems.Add(u(I))
    den Fehler: Der Index war außerhalb des Arraybereichs.

    Mfg Nehgative
    Geändert von Negative (12.08.2009 um 19:17 Uhr)
    Freehack FTW ! Freehack FTW !
    Freehack FTW ! Freehack FTW !
    Freehack FTW ! Freehack FTW !

  6. #6

    Registriert seit
    17.06.2009
    Beiträge
    559

    Standard

    Das mit den doppelten Eintrag ist schon richtig so. Wenn du das nicht möchtest, musst du die Schleife(n) (für die SubItems) nur von 1 bis Count laufen lassen.
    Der Index-Fehler sollte nicht auftreten, wenn du die abgespeicherte Datei nicht mehr änderst.

  7. #7
    Trojaner
    Registriert seit
    02.03.2008
    Beiträge
    97

    Standard

    In welcher zeile meinst du?

    In welcher zeile meinst du?
    Geändert von Negative (13.08.2009 um 08:49 Uhr) Grund: Automerged Doublepost
    Freehack FTW ! Freehack FTW !
    Freehack FTW ! Freehack FTW !
    Freehack FTW ! Freehack FTW !

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •