Okay,
Also ich hab ein recht kompliziertes Problem an dem ich schon stunden sitze:
Also zuerst mal die Erklärung.
Auf meinem Server befindet sich ein txt File mit dieser Formatierung:
So, ihr seht jede Zeile beginnt mit einer 9-Stelligen Nummer.
Diese will ich aus jeder Zeile auslesen, (also Pro Zeile nur die ersten 9 Charaktere)
Das habe ich gelöst bekommen, und zwar so:
Das klappt soweit, möglichweise lässt sich hier ja nochwas optimieren.
Das eigentliche Problem jetzt aber ist:
Ich muss einen String (als Beispiel aus einer TextBox) mit jeder ID (also wieder den ersten 9 Zeichen) in dem TextFile vergleichen.
Wenn sie existiert, soll die komplette Zeile gelöscht werden welche die ID enthält, und danach die leere Zeile entfernen.
Das ganze soll ohne die Datei herunterzuladen, also nur per Memorystream oder DownloadString oderso.
Das entfernen ist mein großes Problem, das kriege ich nicht hin.
Was mache ich falsch?
Das testen ob die ID bereits exisitert habe ich auch hinbekommen:
Vllt lässt sich hier ja auch noch was optimieren, auf jeden Fall ist mein Hauptproblem das enternen der Zeile ohne die komplette Datei herunterladen zu müssen.
kann mir jemand helfen?
Also ich hab ein recht kompliziertes Problem an dem ich schon stunden sitze:
Also zuerst mal die Erklärung.
Auf meinem Server befindet sich ein txt File mit dieser Formatierung:
So, ihr seht jede Zeile beginnt mit einer 9-Stelligen Nummer.
Diese will ich aus jeder Zeile auslesen, (also Pro Zeile nur die ersten 9 Charaktere)
Das habe ich gelöst bekommen, und zwar so:
VB.NET-Quellcode
- Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
- ListBox1.Items.Clear()
- For Each x As String In New System.Net.WebClient().DownloadString("http://myserver.net/File.txt").Split(vbNewLine)
- Dim y As String = x.Split("|")(0)
- ListBox1.Items.Add(y)
- Next
- End Sub
Das klappt soweit, möglichweise lässt sich hier ja nochwas optimieren.
Das eigentliche Problem jetzt aber ist:
Ich muss einen String (als Beispiel aus einer TextBox) mit jeder ID (also wieder den ersten 9 Zeichen) in dem TextFile vergleichen.
Wenn sie existiert, soll die komplette Zeile gelöscht werden welche die ID enthält, und danach die leere Zeile entfernen.
Das ganze soll ohne die Datei herunterzuladen, also nur per Memorystream oder DownloadString oderso.
Das entfernen ist mein großes Problem, das kriege ich nicht hin.
Was mache ich falsch?
Das testen ob die ID bereits exisitert habe ich auch hinbekommen:
VB.NET-Quellcode
- Dim ergebnis As String = "0"
- Dim sr As New StreamReader(New MemoryStream(System.Text.Encoding.UTF8.GetBytes(New Net.WebClient().DownloadString("http://myserver.net/File.txt"))))
- Do Until sr.EndOfStream
- Dim myID As String = TextBox1.Text
- If sr.ReadLine().Substring(0, 9).Contains(myID) Then
- ergebnis += "1"
- Else
- ergebnis += "0"
- End If
- Loop
- If ergebnis.Contains("1") Then
- MsgBox("ID exists")
- ElseIf ergebnis.Contains("0") Then
- MsgBox("ID doesn't exist.")
- End If
Vllt lässt sich hier ja auch noch was optimieren, auf jeden Fall ist mein Hauptproblem das enternen der Zeile ohne die komplette Datei herunterladen zu müssen.
kann mir jemand helfen?
C# Developer
Learning C++
Learning C++