Textdatei von Online-Server Auslesen die LETZTE ZEILE

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von VB1963.

    Textdatei von Online-Server Auslesen die LETZTE ZEILE

    Guten Abend,

    Ich bin dabei, irgend wie die letzte Zeile von meinem Online-Server auszulesen.
    Das ganze läuft wie folgt:

    Ich rufe die Adresse auf zur Textdatei, dies funktioniert schon alles prima. Leider aber zeigt es mir alle Einträge in der Textdatei an, dass sind mehr als 5000... für mich ist aber immer nur die letzte Zeile Interessant.
    Somit meine Frage: gibt es die Möglichkeit nur die letzte Zeile aus meiner Online Textdatei auszulesen?

    Es wäre toll wenn da jemand eine Idee hat, vielleicht bin ich ja schon auf dem richtigen Weg :)

    Quellcode

    1. Dim WebAdresse As String = "https://192.168.178.94/Infos/Numbers.txt" '.LastOrDefault() // << funktioniert leider nicht... da bringt der mir nur ein kleines "t"...
    2. Dim client As webclient = New WebClient()
    3. Dim reader As streamreader = New streamreader(client.OpenRead(WebAdresse))
    4. TextBox1.Text = reader.ReadLine
    @VBisMine: Dein .LastOrDefault ergibt deshalb nur einen Buchstaben bzw. ein Zeichen, da Dein Streaminhalt ein einziger großer Einzeilertext ist, der für Dich zwar aus mehreren Zeilen besteht, aber nicht für den Computer. Da steht sowas drin wie: "12345[Zeilenumbruch]666[Zeilenumbruch]1439842[Zeilenumbruch]0815." Da [Zeilenumbruch] auch mit einem (oder auch 2 Zeichen, systemabhängig) Zeichen codiert wird, wird Dir .LastOrDefault eben das letzte Element Deines Strings geben. Bei meinem Beispielstring wäre das das Zeichen "5".
    => Du musst vorher den String an den Zeilenumbrüchen aufspalten (mithilfe des Befehls .Split() ) => Du erhältst ein Array aus Strings => davon kannst Du Dir .LastOrDefault anzeigen lassen, um die letzte Zeile zu erhalten.
    Bei welchen Zeilen Zeichen Du splitten musst, kannst Du durch Haltepunkt und Ansehen des Streaminhalts ansehen. Aber normalerweise sollte dort dann bei nem Zeilenumbruch ein vbCrLf finden.
    Falls dem so ist, dann ACHTUNG: Dieses "Zeichen" kann nicht verwendet werden, um einen TextSplit vorzunehmen. Und zwar aus zwei Gründen:
    1. vbCrLf ist zur Verwendung im Code nur durch Import des Microsoft.VisualBasic-Namespaces zugänglich, was nicht empfohlen wird; von Eigendefinitionen von wegen Dim Const vbCrLf As mal abgesehen.
    2. vbCrLf besteht aus 2 Zeichen! Nämlich aus vbCr und vbLf => vbCrLf ist ein String. Mit Option Strict On ist ein Split mithilfe eines Strings verboten => Eine Vorverarbeitung, z.B. mittels .Replace des zu splittenden Strings ist durchzuführen.*
    *Wer einwendet, dass man bei Split ja auch mehrere Chars angeben kann, der soll es mal ausprobieren und sich das Ergebnis ansehen.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()

    Cheffboss schrieb:

    Wenn die Textdatei sehr groß ist, dauert das lange.


    Hast du mal ausprobiert wie "lange" das dauert?

    Ne Textdatei downloaden, einlesen und verarbeiten ist jetzt kein zeitintensives Vorhaben. Die wird ja kaum hunderte von MB haben. Mach das Async, dann ist es auch nicht tragisch wenns ne Sekunde länger dauert.

    Was steht denn da drin in der .txt?
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Hallo,

    Danke für eure Antworten! Da ich letzte Nacht einfach fertig war, kam mir die Idee nicht mit den Download der Textdatei und dann einfach in eine Textbox einzuspeisen und dann letztendlich nur noch die letzte Zeile aus der gedownloadeten Textdatei auszulesen. Habe dies nun umgesetzt und es funktioniert tadellos!

    In der Textdatei stehen GPS-Koordinaten, ich lasse mir die GPS-Koordinaten von meinem Handy an meinen Server senden, mein kleines Tool für den PC saugt diese von dem Server & zeigt mir dann dauerhaft automatisch den Standort an. Ist eine coole Sache.

    Ach ja und der Download dauert nur wenige Millisekunden (wenn überheupt^^), also dass nimmt keine Zeit weg.

    Danke Leute!