Step 7 Anzahl belegter Bytes bestimmen

Zuviel Werbung?
-> Hier kostenlos registrieren
@TE:
Ich bezweifele, dass dein Vorhaben gelingen wird.
Du setzt voraus, dass in deiner Zeichenkette (du hast ja anscheinend nicht wirklich einen STRING) die letzten Zeichen durch Chr(0) überschrieben werden. Das wird aber nach meiner Meinung nicht passieren.
Es kann dir passieren, dass aus deiner Zeichenkette "Test_1234" nach dem Überschreiben mit "Hallo" am Ende inhaltlich "Hallo1234" wird. So findest du dann das wirkliche letzte Zeichen nicht.
Hast du hingegen einen STRING, dann würde in der Header-Information das eine Mal als Wert 9 drin stehen und das andere Mal 5 - und zwar ohne, dass du etwas weiteres machen mußt. Hierfür muss dann aber die hineinschreibende Komponente (siehe auch Beitrag #16 von Harald dazu) sich an die entsprechenden 'Konventionen' halten.
Wer beschreibt den deine Zeichenkette ...?

Gruß
Larry


@TE

Die Aussagen stimmen schon, wenn du einen String nutzt sollte dieser auch den Konventionen entsprechen.
Ansonsten können Folgeprobleme auftreten insbesondere wenn du String Funktionen Nutzen willst.

Ich habe auch schon von Chars die ich über eine RS232 Schnittstelle bekommen habe einen String befüllt und dann den String Header selbst generiert.
Allerdings benötigst du immer einen definierten Zustand. Bei mir war es damals ein Stop Zeichen mit welchem ich wusste wann die Zeichenfolge abgeschlossen ist.
Ich habe die Zeichen direkt in einen String geschrieben, wenn das Stopzeichen kam (dieses nicht mit geschrieben) den String umkopiert und den Eingangs- String gelöscht.

Du musst deine Rahmen Parameter selbst prüfen entweder müssen von Außen alle Zeichen jedes mal beschrieben werden. Oder du musst deinen Eingangsbereich definiert löschen.
Aber ich denke da wirst du selbst dahinter kommen wenn du es testest.

Am schönsten und Einfachsten ist es eine Schnittstelle zu definieren und zu dokumentieren, wenn man einen Einfluss darauf haben kann wie man die Informationen bekommt.
Wen nicht muss man das beste daraus machen was man hat, dass ist glaube ich jedem Programmierer bewusst. Allerdings gibt es auch Sachen welche nicht umsetzbar sind.
Dann muss man sich eventuell für andere Komponenten oder eine andere Herangehensweise entscheiden.
 
Zuletzt bearbeitet:
Zurück
Oben