Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
40.118 Beiträge
 
Delphi 11 Alexandria
 
#22

AW: COM Port Daten auslesen und auf bestimmtes Char reagieren

  Alt 9. Feb 2016, 12:04
Ganz im Ernst, egal, ob du einen Zeitstempel brauchst. ReadFile liest das aus, was schon im Cache des Port ist.

Ob du nun mühevoll NUR eine Zeilen ausliest, oder einfach alles und dass dann trennst, ist egal ... DA ist DA.

1 alles in einen Puffer kopieren (Neues hinten anhängen)
2 Zeilenumruch suchen
2.1 bis dahin die erste Zeile ausschneiden
2.2 verarbeiten
2.3 gehe zu 2
3 gehe zu 1

Im eigenen Puffer kann man schneller voraussuchen. Für den internen Puffer gibt es keine Preview.

Dauert das Verarbeiten länger, dann die extrahierten Zeilen mit Zeitstempel an einen anderen Thread übergeben.



Da es hier um TEXT geht, vielleicht besser ein AnsiChar-Array, einen AnsiString oder einen TStringStream vervenden.

PS: AssignFile+ReadLn geht auch bei COM, genauso wie der TStringStream+THandleStream/TFileStream.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014

Geändert von himitsu ( 9. Feb 2016 um 12:08 Uhr)
  Mit Zitat antworten Zitat