Ich versuche eine TXT-Datei in eine Richtextbox (Point_BOX) zu laden, dann lösche alle bis auf die letzten 5 Zeichen in einer Listbox (Point_LIST). Ich habe online gesucht und bis jetzt ist der einzige Weg, wie ich es zur Arbeit bringen kann, indem die ersten 75 Zeichen aus der Zeile entfernt werden (die Zeilen in der TXT-Datei sollten 80 Zeichen sein, aber manchmal ist mehr/weniger).letzte Charater in Listbox behalten VB.NET
Point_BOX.Clear()
Point_LIST.Items.Clear()
OpenPointDialog.ShowDialog()
FileName = OpenPointDialog.FileName
Dim sr As IO.StreamReader = IO.File.OpenText(FileName)
Dim line As String = ""
Point_BOX.Text = sr.ReadToEnd
For i As Integer = 0 To sr.Peek = -1
line = sr.ReadLine()
Dim allText As String = sr.ReadToEnd()
Point_BOX.Text = Point_BOX.Text & line & vbNewLine
Next
sr.Close()
'Clean up report
Point_LIST.Items.AddRange(Point_BOX.Lines)
Dim ir As Integer = Point_LIST.Items.Count
Dim xr As Integer
For xr = 0 To ir - 2
Point_LIST.Items(xr) = Point_LIST.Items(xr).substring(75)
Next xr
Dies funktioniert, wenn es keine Linien, die weniger als 80 Zeichen sind aber manchmal der Bericht einige einzelne Wörter in einer Zeile haben kann. Ich dachte über eine weitere Schleife nach, die überprüft, wie viele Zeichen in einer Zeile sind und wenn es weniger als 80 Zeichen ist, dann gehe zur nächsten Zeile, aber ich kann nicht helfen, denke aber, dass es einen besseren Weg gibt. Wie umgekehrt "substring (75)" (? String (5))
Danke @Idle_Mind! Ich habe das gerade mit mehreren Berichten getestet und es funktioniert, auch eine Menge Code aufgeklärt – Turk