' schrieb:Das letzte VI von mir in diesem Thread macht ja gerade Synchronisation am Anfang. Das hat zwar als Folge dass der erste gültige Wert immer weggeschmissen wird (könnte mit etwas mehr Aufwand auch noch vermieden werden) aber solange innerhalb eines Datanblocks danach kein Müll ist funktioniert das perfekt. Ich nicht begreifen!!
Entschuldigung, ich hatte nur das erste kleine Beispiel im Auge.
Das zweite habe ich mir jetzt mal angeschaut, und da sind mir bei der Synchronisation am Anfang auch gleich zwei Ungereimtheiten aufgefallen (Aber wie gesagt, bezog sich die Anfrage ja gar nicht auf Synchronisation mit den beiden 7F 7F Bytes. Also Perfektion war hier gar nicht gefragt)
Hier der BD-Ausschnitt:
Damit meine ich
1. Angenommen, die (noch nicht synchronisierte) Bytefolge ist am Anfang 7F 00 00 7F. Dann bleiben am Ausgang des "VI Muster suchen" die 3 Bytes 00 00 7F übrig. Die nachfolgende Subtraktion 2-3 ergibt -1. Und das soll doch wohl bestimmt nicht als Byteanzahl vom nachfolgenden VI gelesen werden.
2. Kleiner Flüchtigkeitsfehler: Bei "regulär expression" hätte die code - Darstellung gewählt werden müssen. So wie hier in der Normalansicht wird nicht das Byte 0x7F, sondern es wird die 3 char lange Zeichenkette "7F" gesucht.
Der Aussage, daß das richtige Lesen ab erstem Wert nur mit mehr Auswand zu erreiches ist, stimme ich nicht zu. Mit byteweisen Einlesen und Bytebehandlung einer einer kleinen State machine, die wegen ihrer Winzigkeit kaum diesen Namen verdient, läßt sich das Problem sehr einfach lösen.