Registriert seit: 2. Mär 2004
5.508 Beiträge
Delphi 5 Professional
|
Re: Daten von einem anderen Programm "auffangen" u
10. Mär 2010, 18:28
Du solltest dich nicht darauf verlassen, dass Antworten ein bestimmtes Timing haben.
Stattdessen würde ich das abschliessende #13 als Endezeichen betrachten.
Der Algorithmus sieht so aus:
Es gibt einen Empfangspuffer (string).
Bei jedem OnRead-Event werden die empfangen Daten zuerst an den Empfangspuffer angehängt.
Dann schaut man nach, ob im Empfangspuffer eine ganze Zeile steht indem man nach dem Endezeichen sucht. (*)
Die Antwort (inklusive Endezeichen) wird aus dem Empfangspuffer ausgeschnitten.
Dann wird die Antwort (ohne Endezeichen) einer Procedure übergeben die dann entsprechend reagiert.
Es könnte aber noch eine weitere Antwort im Empfangspuffer stehen; deshalb zurück zur mit (*) markierten Zeile.
Andreas
|