Benutzer mit den meisten Antworten
In eine bestimmte Zeile einer txt Datei etwas schreiben.

Frage
Antworten
-
Hallo Dennis
solange die Textdatei von der Grösse her vollständig geladen werden kann, dann etwa:
File.ReadAllLines-Methode
http://msdn.microsoft.com/de-de/library/system.io.file.readalllines.aspxFile.WriteAllLines-Methode
http://msdn.microsoft.com/de-de/library/bsz3b1wh.aspx
wobei man damit die Zeilen ganz einfach 1:1 als String-Array behandeln kann, aka Zeilennummer wird wie Zugriff per Array-Index.- Als Antwort vorgeschlagen Robert BreitenhoferModerator Mittwoch, 2. März 2011 09:14
- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 10. März 2011 16:32
Alle Antworten
-
Hallo Dennis
solange die Textdatei von der Grösse her vollständig geladen werden kann, dann etwa:
File.ReadAllLines-Methode
http://msdn.microsoft.com/de-de/library/system.io.file.readalllines.aspxFile.WriteAllLines-Methode
http://msdn.microsoft.com/de-de/library/bsz3b1wh.aspx
wobei man damit die Zeilen ganz einfach 1:1 als String-Array behandeln kann, aka Zeilennummer wird wie Zugriff per Array-Index.- Als Antwort vorgeschlagen Robert BreitenhoferModerator Mittwoch, 2. März 2011 09:14
- Als Antwort markiert Robert BreitenhoferModerator Donnerstag, 10. März 2011 16:32
-
Hallo Thomas,
Danke für deine Antwort, jedoch werden nicht alle Zeilen der Datei gelesen.
Ich habe es so gemacht, dass wenn man auf Aktualisieren klickt, wird die angegebene Zeile, in der Textbox angezeigt. Man kann alles verändern in der Textbox, jedoch hat dies keine Auswirkungen auf die Datei, in der es geändert werden soll.
Code:
Dim fs As New FileStream(
"C:\Dokumente und Einstellungen\Dennis Nemec\Desktop\cbrepack\server\settings.conf", FileMode.Open)
Dim sr As New StreamReader(fs)
Dim zeile As String
Dim zaehler As Integer = 0
Do Until sr.Peek() = -1
zeile = sr.ReadLine
zaehler = zaehler + 1
If zaehler = 71 Then
TextBox4.Text &= Mid(zeile, 24, Len(zeile) - 25) & vbCrLf
End If
Loop
sr.Close()Wenn man dann in der Textbox den Text ändert, soll die änderung übernommen werden.
Gruß,
Dennis
-
Private Sub TextBox4_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox4.TextChanged Dim fs As New FileStream("C:\Dokumente und Einstellungen\Dennis Nemec\Desktop\cbrepack\server\settings.conf", FileMode.Open) Dim sr As New StreamReader(fs) Dim zeile As String Dim zaehler As Integer= 0 Do Until sr.Peek() = -1 zeile = sr.ReadLine zaehler = zaehler + 1 If zaehler = 71 Then TextBox4.Text &= Mid(zeile, 24, Len(zeile) - 25) & vbCrLf End If Loop sr.Close() End Sub
MFG M. D.- Bearbeitet Robert BreitenhoferModerator Mittwoch, 2. März 2011 09:12 Formatierung
-
Hallo Dennis,
Folge den Weg der Dir Thomas gesagt hat: „wobei man damit die Zeilen ganz einfach 1:1 als String-Array behandeln kann, aka Zeilennummer wird wie Zugriff per Array-Index.“…ist doch so Einfach:
Imports System.IO Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim myArray As String() myArray = StrArrayErstellen("C:\TEMP\Sample_problems.txt") End Sub Public Function StrArrayErstellen(ByVal pathName As String) As String() Return System.IO.File.ReadAllLines(pathName) End Function End Class
Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.
Grüße,
Robert