Hallo, ich möchte gerne eine Textdatei auslesen Zeile für Zeile. Wenn Die Zeile mit einer bestimmten Zahl aus einer Textbox beginnt will ich diese löschen. Also komplett löschen. Das der Restliche Text aufrückt. Also es ist wichtig dass die Reihenfolge eingehalten wird und keine Leerzeilen dazwischen sind.
Ich dachte mir das so. ich lese alle Zeilen in eine Listobx, lösche dann die Zeile raus und speichere sie wieder ab.
Könnt ihr mir helfen?
Edit: Es ist noch wichtig dass bei der Datei immer 1 Leerzeichen vor jeder Zeile steht.
Beispiel:
" 1Grün"
" 10 Grün"
" 100 Grün"
" 1000 Grün"
In Datei 1 sind maximal Zhalen bis 9999 möglich.
und bei einer andren Datei auf der ich es Anwenden möchte ist es wichtig dass ich wenn eine 1 Am Anfang steht 4 Leerzeichen dann Leerzeichen und Text stehen. bei einer 10 3 Leerzeichen etc.
Beispiel:
" 1 Grün"
" 10 Gelb"
" 100 Organge"
" 1000 Blau"
"99999 Rot"
Dort sind maximal Zahlen bis 99999 möglich.
Hoffe das ist so verständlich.
Ich dachte mir das so. ich lese alle Zeilen in eine Listobx, lösche dann die Zeile raus und speichere sie wieder ab.
VB.NET-Quellcode
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
- Dim index = 0
- Dim linesIndex = File.ReadAllLines(Pfadprg21prg + "prg__dir.dat")
- For Each zeile As String In linesIndex
- index += 1
- If zeile.TrimStart.StartsWith(txtPrgNr.Text) Then
- MessageBox.Show(index.ToString)
- Dim Position = Integer.Parse(index.ToString)
- Dim Lines As New List(Of String)
- Lines.AddRange(IO.File.ReadAllLines(Pfadprg21prg + "prg__dir.dat"))
- For Each line In Lines
- If line.TrimStart.StartsWith(txtPrgNr.Text) Then
- Lines.Remove(Lines.Item(Position))
- Dim Output As String = String.Join(vbNewLine, Lines.ToArray)
- IO.File.WriteAllText(Pfadprg21prg + "test21.txt", Output)
- End If
- Next
- End If
- Next
- End Sub
Könnt ihr mir helfen?
Edit: Es ist noch wichtig dass bei der Datei immer 1 Leerzeichen vor jeder Zeile steht.
Beispiel:
" 1Grün"
" 10 Grün"
" 100 Grün"
" 1000 Grün"
In Datei 1 sind maximal Zhalen bis 9999 möglich.
und bei einer andren Datei auf der ich es Anwenden möchte ist es wichtig dass ich wenn eine 1 Am Anfang steht 4 Leerzeichen dann Leerzeichen und Text stehen. bei einer 10 3 Leerzeichen etc.
Beispiel:
" 1 Grün"
" 10 Gelb"
" 100 Organge"
" 1000 Blau"
"99999 Rot"
Dort sind maximal Zahlen bis 99999 möglich.
Hoffe das ist so verständlich.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Gottric“ ()