Hallo Forum^^
ich habe mit Hilfe des Forums versucht eine Prozedur zu erstellen, mit der ich eine einzelne Zeile (mitten) in einer Textdatei ersetzen kann.
Das hier ist mein erster Versuch und wie erwartet funktioniert das Ganze nicht.
Mein Ansatz war
1) komplette Datei Zeilenweise einlesen in List(of String)
2) Zeilen nach "MUSTER" durchsuchen und ganze Zeile durch "TEST" ersetzen
3) List(of String) zurück in die Datei schreiben
Aber nichts geschieht. Die gesuchte Zeile wird nicht ersetzt.
Was läuft da schief? Ich bin für jeden Tipp dankbar
lg Christian
ich habe mit Hilfe des Forums versucht eine Prozedur zu erstellen, mit der ich eine einzelne Zeile (mitten) in einer Textdatei ersetzen kann.
Das hier ist mein erster Versuch und wie erwartet funktioniert das Ganze nicht.
Mein Ansatz war
1) komplette Datei Zeilenweise einlesen in List(of String)
2) Zeilen nach "MUSTER" durchsuchen und ganze Zeile durch "TEST" ersetzen
3) List(of String) zurück in die Datei schreiben
Quellcode
- Sub zeile_aendern(ByVal datei As String)
- Dim str As New StreamReader(datei)
- Dim text As New List(Of String)()
- 'Datei einlesen
- MsgBox("los gehts")
- While Not str.EndOfStream
- text.Add(str.ReadLine())
- End While
- str.Close()
- str.Dispose()
- MsgBox("einlesen fertig")
- 'Zeile finden und ersetzen
- For Each zeile As String In text
- If zeile.Contains("MUSTER") Then
- zeile = "TEST"
- MsgBox("Zeile gefunden")
- End If
- Next
- Dim stw As New StreamWriter(datei, False)
- 'Datei zurückschreiben
- For Each zeile As String In text
- stw.WriteLine(zeile)
- Next
- stw.Flush()
- stw.Close()
- stw.Dispose()
- MsgBox("schreiben fertig")
- End Sub
Aber nichts geschieht. Die gesuchte Zeile wird nicht ersetzt.
Was läuft da schief? Ich bin für jeden Tipp dankbar
lg Christian
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „cl10k“ ()