INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

letzte Zeile eines Strings anzeigen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

31.07.2012, 14:32
Beitrag #20

Kiesch Offline
LVF-Stammgast
***


Beiträge: 415
Registriert seit: Mar 2009

2019, 2018, 2016
2009
DE

04519
Deutschland
RE: letzte Zeile eines Strings anzeigen
Nochmal zwei Kommentare zu dem TCP IP:

Beim Read könntest du ausprobieren, ob Modus 2 funktioniert:

Code:
2 CRLF—Wartet, bis die unter Zu lesende Bytes angegebenen Byte-Anzahl eingetroffen ist oder bis innerhalb von Zu lesende Bytes ein Wagenrücklauf (CR) gefolgt von einem Zeilenvorschub (LF) auftritt oder bis der Timeout (ms) erreicht ist. Die Funktion gibt die Bytes bis einschließlich CR und LF aus, sofern CR und LF im String gefunden werden.
(aus der LV Hilfe)

Damit könntest du wenn dein Sender im entsprechenden Format Zeilen beendet wirklich Zeilenweise einlesen. Dann könntest du schon beim lesen deine Zeilen trennen und kriegst auch immer nur komplette Zeilen.


Falls das nicht geht (oder zu langsam wird): Ich würde bei sowas immer ne Auswertung vorschalten die in die einzelnen Nachrichten auftrennt (in deinem Fall also die einzelnen Zeilen). Sprich: Der Teilstring den du empfängst wird an den Rest vom letzten Durchlauf angehangen, du trennst nach Zeilen auf, schiebst den Rest (letzte Zeile) in ein Schieberegister und die eigentlichen Daten Zeilenweise in eine Queue. Aus der entnimmt dann ein separates Programm und macht die eigentliche Verarbeitung. Wie schon angemerkt das ganze eventuell um Verlustbehaftetes einfügen ergänzen, wenn wirklich zu viele Daten kommen.

Alternativ entnimmst du der Queue halt bei jedem Durchlauf und arbeitest das Array das du gekriegt hast vom Ende her ab bis du alle notwendigen Werte aktualisiert hast, oder das Array abgearbeit hast.
Anschließend halt wieder nächster Durchlauf.
Die Daten aus der Queue würde ich persönlich anschließend wegschmeißen oder (in ner separaten Schleife) ausschreiben wenn du die loggen willst.

Gruß Kiesch

Zitat:Märchen und Geschichten werden erzählt am Lagerfeuer, technischen Fakten werden mitgeteilt (oder so). (Genauso wie Software nicht auf einem Server "herumliegt", die ist dort installiert.)
*Zitat: IchSelbst*
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
RE: letzte Zeile eines Strings anzeigen - Kiesch - 31.07.2012 14:32

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Letzte Ergebnisse anzeigen (Highscore) bolze 34 20.940 18.12.2014 10:48
Letzter Beitrag: GerdW
  Einfügen eines Strings bei Tastendruck im aktiven Feld dali4u 2 3.881 21.08.2014 05:51
Letzter Beitrag: sccompu
  Eingabeaufforderung behält letzte Werte Nick Name 4 4.444 22.07.2014 14:56
Letzter Beitrag: Nick Name
  Zeile löschen im Array Headskiiert 17 15.286 05.02.2014 19:53
Letzter Beitrag: Headskiiert
  Über letzte Array Werte mitteln dbuckl 3 4.653 03.12.2013 13:06
Letzter Beitrag: GerdW
  Cluster Zeile löschen Masterg4941 17 12.902 12.09.2013 12:13
Letzter Beitrag: Masterg4941

Gehe zu: