Zeile einer Textdatei löschen

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Novazizo|Sabrina.

    Zeile einer Textdatei löschen

    Hallo Leute,

    ich habe gegooglet und die SuFu benutzt und schon viel gefunden, jedoch versteh ich das nicht ganz.

    Hier schrieb jemand was von "kill", aber das funktioiert leider nicht so wie ich es geschrieben haben...

    Wäre sehr nett von euch wenn ihr mir helfen könntet!

    Hier noch mein aktueller Code:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. For Each Zeile As String In System.IO.File.ReadAllLines(Stammdatenbank)
    3. If Zeile.Contains(ListBox2.SelectedItem.ToString) Then
    4. ListBox2.Items.RemoveAt(ListBox2.SelectedIndex)
    5. ' Zeile löschen/killen in Textdatei
    6. Kill(Zeile) 'funktioniert nicht!
    7. End If
    8. Next
    9. End Sub


    MfG
    No
    Ich würde es so machen:

    1. Textdatei in ein Array einlesen (jede Zeile ist ein Array-Element)
    2. neues Array schreiben und zwar als dem alten Array das Element entfernen, welches die zu löschende Zeile enthält
    3. neues Array wieder in die Textdatei schreiben

    ich wüßte nicht, warum das nicht klappen sollte....

    lieben Gruß
    Gabi
    Das ist merkwürdig, denn so kompliziert ist es nun wirlich nicht....

    hier noch ne kleine Hilfe:
    Textdatei in ein Array einlesen:

    VB.NET-Quellcode

    1. Dim Textdatei_to_string() As String = IO.File.ReadAllLines("c:\test\t.txt")


    Wenn in der Textdatei z.B. steht:
    Hier die erste Zeile
    hier die zweite Zeile
    hier die dritte Zeile

    dann ist Textdatei_to_string(0) --> Hier die erste Zeile

    dann ist Textdatei_to_string(1) --> hier die zweite Zeile

    dann ist Textdatei_to_string(2) --> hier die dritte Zeile

    lieben Gruß
    Gabi
    Hallo Gabi und Vielen Dank für deine Hilfe... nach langem probieren und rummuckeln hab ich es doch endlich geschafft und verstanden!

    Hier meine Lösung:

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Dim RausDamit As String = ListBox2.SelectedItem.ToString
    2. For Each Zeile As String In System.IO.File.ReadAllLines(Stammdatenbank)
    3. If Zeile.Contains(RausDamit) Then
    4. ListBox2.Items.RemoveAt(ListBox2.SelectedIndex)
    5. Exit For
    6. End If
    7. Next
    8. Dim Werte() As String = IO.File.ReadAllLines(Stammdatenbank)
    9. Dim Neu As New IO.StreamWriter(Stammdatenbank)
    10. For i = 0 To UBound(Werte)
    11. If Werte(i) = RausDamit Then
    12. Else
    13. Neu.WriteLine(Werte(i))
    14. End If
    15. Next
    16. Neu.Close()


    Danke!!! :thumbsup: