Hallo zusammen,
ich habe eine Frage zu dem befüllen einer ListView von einer Textdatei / Log aus.
Das schreiben von einträgen in die Textdatei funktioniert hierbei super und ohne Probleme, auch das Splitten der Einträge innerhalb der Log und erneutes ausgeben in einem String funktioniert ohne weiteren Problem.
Den String übergebe ich dann derzeit an das ListView, dieser schreibt mir alle Einträge der Textdatei in die ListView und sortiert diese, die neusten Einträge stehen hierbei oben, soweit auch alles in Ordnung.
Nun mein Problem, ich suche seit Wochen eine Möglichkeit mit dieser ich entweder die neusten Einträge einer Textdatei (da ja nach Datum eingetragen wird) in die ListView geschrieben bekomme.
Oder die Möglichkeit die letzten 20 - 30 Zeilen in die ListView einzutragen. Ich weis das ich mit ".Length - 1" den letzten Eintrag erhalte, hier müsste ich dann theoretisch hochzählen (30 Zeilen) und diese dann in einer For Each wieder ausgeben bzw. der ListView hinzufügen. Da hängt es allerdings bei mir selbst.
Hier mein derzeitiger Code in der Grundfunktion, ich habe hier bereits einiges hin und her Versucht, bin aber auf keine saubere Lösung gekommen.
Die Einträge in der Textdatei:
Ich würde mich sehr über Ideen oder auch Lösungsvorschläge freuen.
Vielen Dank
Gruß Spike
ich habe eine Frage zu dem befüllen einer ListView von einer Textdatei / Log aus.
Das schreiben von einträgen in die Textdatei funktioniert hierbei super und ohne Probleme, auch das Splitten der Einträge innerhalb der Log und erneutes ausgeben in einem String funktioniert ohne weiteren Problem.
Den String übergebe ich dann derzeit an das ListView, dieser schreibt mir alle Einträge der Textdatei in die ListView und sortiert diese, die neusten Einträge stehen hierbei oben, soweit auch alles in Ordnung.
Nun mein Problem, ich suche seit Wochen eine Möglichkeit mit dieser ich entweder die neusten Einträge einer Textdatei (da ja nach Datum eingetragen wird) in die ListView geschrieben bekomme.
Oder die Möglichkeit die letzten 20 - 30 Zeilen in die ListView einzutragen. Ich weis das ich mit ".Length - 1" den letzten Eintrag erhalte, hier müsste ich dann theoretisch hochzählen (30 Zeilen) und diese dann in einer For Each wieder ausgeben bzw. der ListView hinzufügen. Da hängt es allerdings bei mir selbst.
Hier mein derzeitiger Code in der Grundfunktion, ich habe hier bereits einiges hin und her Versucht, bin aber auf keine saubere Lösung gekommen.
VB.NET-Quellcode
- ListView_Server_Log.View = View.Details
- ListView_Server_Log.BackColor = Color.Empty
- ListView_Server_Log.FullRowSelect = True
- For Each line As String In File.ReadLines("C:/Test/Logs/" + test + ".txt")
- ' Display the line.
- Dim stringArray = line.Split({" "c}, StringSplitOptions.None)
- Dim LItem As ListViewItem = ListView_Server_Log.Items.Add(stringArray(0).ToString)
- LItem.SubItems.Add(stringArray(1).ToString)
- Next
- ListView_Server_Log.Columns(0).Width = 150
- ListView_Server_Log.Columns(1).Width = 200
- ListView_Server_Log.Sorting = SortOrder.Descending
Die Einträge in der Textdatei:
VB.NET-Quellcode
- [09:27:19.219] Information Das steht nun drinne
- [09:27:20.223] Information Das steht nun drinne
- [09:27:21.224] Information Das steht nun drinne
- [09:27:22.220] Information Das steht nun drinne
- [09:27:23.220] Information Das steht nun drinne
- [09:27:24.229] Information Das steht nun drinne
- [09:27:25.219] Information Das steht nun drinne
- [09:27:26.220] Information Das steht nun drinne
- [09:27:27.223] Information Das steht nun drinne
- [09:27:28.219] Information Das steht nun drinne
- [09:27:29.220] Information Das steht nun drinne
- [09:27:30.227] Information Das steht nun drinne
Ich würde mich sehr über Ideen oder auch Lösungsvorschläge freuen.
Vielen Dank
Gruß Spike