Einzelnen Beitrag anzeigen

willyxv

Registriert seit: 25. Okt 2010
29 Beiträge
 
Delphi XE Enterprise
 
#1

String wird bei bestimmetem Byte nicht angezeigt

  Alt 9. Mär 2011, 17:30
Hallo,

ich habe ein kleines Programm geschrieben, welches Daten über einen Com Port empfängt und daraus teildaten anzeigt. Dies funktioniert auch sehr gut solange nicht eine Fehlermeldung in Form eines einzelnen Bytes mitgeschickt wird.

Hier der Datensatz der empfangen wird:
in Grün die Teildaten (5,00)
in Blau die Bytes welche die Position bestimmen

80 F4 80 24 04 75 35 2C 30 30 72 32 35

Und hier das Programm um die Daten zu Filtern:

Delphi-Quellcode:
 
    Anfang := char($75);
    PostionsmarkeAnfang := Pos(Anfang ,KompletterDatensatz);
    Teildaten := Copy(KompletterDatensatz, PostionsmarkeAnfang + 1, 10);
    Ende := char($72);
    PostionsmarkeEnde := Pos(Ende ,Teildaten );
    Teildaten := Copy(Teildaten, 0, PostionsmarkeEnde - 1);
    Anzeige.Caption := Teildaten ;

Und hier der Datensatz mit Fehlermeldungsbyte:
in Grün die Teildaten (5,00)
in Blau die Bytes welche die Position bestimmen
Rot = Fehlermeldungsbyte

80 F4 80 24 04 75 OA 35 2C 30 30 72 32 35

Wird die Fehlermeldung mitgeschickt wird nichts mehr angezeigt. Bei der ausgabe der Anfangsposition und Endposition stimmen diese jedoch, nur auf der anzeige erscheint nichts mehr. Wid die Fehlermeldung nicht mehr mitgeschickt geht es wieder. Desweiteren funktioniert die Anzeige bei einigen Fehlern und hier wird das Fehlerbyte als - oder als ein anderes Symbol angezeigt.

Woran kann dies liegen? Am dem Byte 0A?



Bin für jede Hilfe dankbar

MfG Willy
  Mit Zitat antworten Zitat