String Trennen & In ListView
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 38 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.
-
-
VB.NET-Quellcode
- Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
- ListViewMain.Items.Clear() 'Leert ListView vor Refresh
- Try
- Dim wb As New Net.WebClient
- Dim lines() = wb.DownloadString("http://xxx/xxx.txt").Split({vbCrLf}, StringSplitOptions.None)
- For Each line In lines
- Dim parts() = line.Split({"###"}, StringSplitOptions.None)
- Dim item = ListViewMain.Items.Add(parts(0))
- For i = 1 To parts.Length - 1
- item.SubItems.Add(parts(i))
- Next
- Next
- Catch ex As IOException
- MsgBox("Fehler aufgetreten: " & ex.Message) 'Bei Fehler MsgBox
- End Try
- End Sub
Ja, habs jetzt mal mit Artentus neuem Code probiert.
Aus irgend nem grund zeigts mir trotzdem nur die erste zeile an
Und ich hab mal ex.message hinzugefügt, das zeigt mir den Fehler ja auchC# Developer
Learning C++
-
-
Hm, ich glaube ich weiß ungefähr was das Problem ist, aber nicht wie ich es lösen soll.
Und zwar, wenn die Datei so aussieht sehe ich nur die erste Zeile:
So allerdings lässt sich im letzten Subitem noch der "This-" schnipsel der zweiten zeile erkennen:
Das heißt er hängt den rest iwie in weitere Subitems dran, anstatt eine neue Zeile zu eröffnen.
Ich habe 5 Cloumns, das heißt nach 5 sortierten items, muss die nächste Zeile hinzugefügt werden. Aber wie?C# Developer
Learning C++
-
Kein Problem:
VB.NET-Quellcode
- Dim wb As New WebClient
- Dim lines() = wb.DownloadString("http://Blubb.com/File.txt").Split({vbCrLf}, StringSplitOptions.None)
- For Each line In lines
- Dim parts() = line.Split({"###"}, StringSplitOptions.None)
- Dim item = ListView1.Items.Add(parts(0))
- For i = 1 To Math.Min(parts.Length - 1, 4)
- item.SubItems.Add(parts(i))
- Next
- Next
So werden maximal 5 Einträge pro Zeile gemacht. Die restlichen werden einfach ignoriert. -
-
Artentus schrieb:
Kein Problem:
VB.NET-Quellcode
- Dim wb As New WebClient
- Dim lines() = wb.DownloadString("http://Blubb.com/File.txt").Split({vbCrLf}, StringSplitOptions.None)
- For Each line In lines
- Dim parts() = line.Split({"###"}, StringSplitOptions.None)
- Dim item = ListView1.Items.Add(parts(0))
- For i = 1 To Math.Min(parts.Length - 1, 4)
- item.SubItems.Add(parts(i))
- Next
- Next
So werden maximal 5 Einträge pro Zeile gemacht. Die restlichen werden einfach ignoriert.
Jetzt ignoriert er sie, allerdings wird die zweite Zeile nicht geaddet. Der "This-" Schnipsel wird ignoriert und der rest danach ja dann auch oder ? :s
Das programm müsste im Idealfall die anzahl der Zeilen auslesen und dann entsprechend viele Items hinzufügen und diese für jede Zeile formatieren, oder?C# Developer
Learning C++
-
-
-
-
-
-
-
Ich hatte eigentlich was anderes gemeint, aber das reicht mir trotzdem :).
Das Problem ist, dass nicht korrekt gesplittet wird. Du hast die Datei nicht unter einem Windows-System erstellt oder? Denn wie in dem String zu erkennen ist wird als Zeilenumbruch nicht CrLf sondern nur Lf verwendet, was auf Unix/Linux schließen lässt. Du kannst entweder die Datei in Ordnung bringen oder im Code vbCrLf durch vbLf ersetzen. -
-
Artentus schrieb:
... Denn wie in dem String zu erkennen ist wird als Zeilenumbruch nicht CrLf sondern nur Lf verwendet, was auf Unix/Linux schließen lässt...
Denn StreamReader.ReadLine() liest genau eine Zeile, und zwar richtig, und unabhängig von der ZeilVorschub-Konvention des Systems, wo die Datei herkommt.
In diesem Falle käme alsoWebClient.OpenRead()
in Frage, um den Stream zu erhalten. -
Ich bin grade bin bisschen am rumexperimentieren and versuche den String in dem selben format mit den ###'s aus ner lokalen txt Datei auszulesen.
Dabei bekomme ich den Fehler: Ungültige Konvertierung von File.txt in Integer?:0
VB.NET-Quellcode
- Try
- Dim lines() As String = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData & "\File.txt").Split({vbLf}, StringSplitOptions.None)
- For Each line In lines
- Dim parts() = line.Split({"###"}, StringSplitOptions.None)
- Dim item = ListViewMain.Items.Add(parts(0))
- For i = 1 To Math.Min(parts.Length - 1, 4)
- item.SubItems.Add(parts(i))
- Next
- Next
- Catch ex As WebException ListBoxReport.Items.Add(Format(Now, "[HH:mm]") & " Error occured: ex.message")
- End Try
C# Developer
Learning C++
-
-
Rikudo schrieb:
Dabei bekomme ich den Fehler: Ungültige Konvertierung von File.txt in Integer?
machma Option Strict On!
-
Ähnliche Themen
-
striker1995 - - Sonstige Problemstellungen
-
listview selected items to string?
supercyrex - - Sonstige Problemstellungen -
Kevilein95 - - Sonstige Problemstellungen
-
5 Benutzer haben hier geschrieben
- Rikudo (17)
- Artentus (15)
- Gast (3)
- RodFromGermany (2)
- ErfinderDesRades (2)