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!

28.07.2012, 08:34 (Dieser Beitrag wurde zuletzt bearbeitet: 28.07.2012 09:25 von Lucki.)
Beitrag #10

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: letzte Zeile eines Strings anzeigen
(27.07.2012 21:45 )fabqu schrieb:  Alternativ kann ich auch das gesamte, zuletzt empfangene Paket verarbeiten, ehe ich ein neues hole.
Dieses kann dann aber so aussehen:
"enA:209543
DatenB:4923
DatenC:44532
DatenE:5432
DatenF:325256
Date"
Auch hier ist das Problem: erste und letzte Zeile sind unvollständig...
Was tun?
Das ist Flickschusterei, wenn das Problem der unvollständigen Zeilen im Nachinein über Datenauswertung gelöst wird. Die saubere Löung ist eine bessere Konfiguration beim Datenempfang. Einfach in der seriellen Konfiguration "Abschlusszeichen aktivieren". Dann wartet VisaRead so lange, bis eine Zeile vollständig im Buffer ist, und es werden unvollständige Zeilen überhaupt nicht erst empfangen.
Die Unvollständigkeit der ersten Zeile ist allerdings etwas anderes. Das passiert, wenn zuerst der Sender, und dann erst der Empfänger eingeschalten wird. Es kann dabei sogar passieren, dass es anfänglich zu Frame-Error kommt, weil mitten in ein Byte hineingehört wurde. Hiergegen hilft Abfangen der Fehler, bis sich der Empfang synchronisiert hat. (Mit anderen Worten: Diese verstümmelte erste Zeile darf gar nicht erst in den Empfangsstring gelangen)
NB: Ich kenne diese dämliche VISA-Konfigurationen aus tausend falschen Forumsbeispielen. Abchlusszeichen ist ja standardmäßig aktiviert und wird auch so gelassen - soweit OK. Dann aber wird vor ViseRead überflüssigerweise "Bytes on Board" gesetzt und damit das zeilenweise Lesen außer Kraft gesetzt. Die Lösung ist: "Bytes on Board" weglassen und an VisaRead eine feste Bytezahl anschließen, die größer ist als die größte Länge einer empfangenen Zeile.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Nachrichten in diesem Thema
RE: letzte Zeile eines Strings anzeigen - Lucki - 28.07.2012 08:34

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Letzte Ergebnisse anzeigen (Highscore) bolze 34 20.941 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: