Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#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.
my Delphi wish list : BugReports/FeatureRequests

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