![]() |
Fehlendes Längenbyte
Hallo,
hab mal wieder ein Problem :? Es geht um die Behandlung eines String in dem "normalerweise" immer ein Längenbyte (z.b. CHR($13) ) steht. Nun kann es aber auch sein, dass diese Angabe fehlt. Nun habe ich mir gedacht, dass ich erst gucken muss ob das Längenbyte vorhanden ist wenn nicht gehe ich in die Ausnahmeroutine. Nun meine Frage, ob es eine Möglichkeit gibt zu Prüfen ob das Längenbyte vorhanden ist (oder nicht) unabhängig von der Länge ?? Greetz |
Re: Fehlendes Längenbyte
Ich glaube es ist unmöglich das Längenbyte vom restlichen Text zu unterscheiden.
Du könntest aber hoffen, das am Ende des Strings eine binäre Null steht. Die kannst du suchen und die ermittelte Länge mit dem angeblichen Längenbyte vergleichen. Nur frage ich mich: Warum das Ganze? Warum sollte das Längenbyte fehlen? :gruebel: |
Re: Fehlendes Längenbyte
mhhh, toja warum das fehlt?! Der String kommt aus einer KVK Karte (Krankenversicherungskarte) und anscheinent fängt der String nicht bei jeder Krankenkasse mit dem Längenbyte an. In dem String sind übrigens auch mehrere dieser Bytes untergebracht.
Beispiel für dem Aufbau des String: #$13'Krankenkassenname'#$81#7'KVNummer'#$8F#5'KVSt atus' usw. und bei manchen Karten von bestimmten Versicherungen fehlt halt vorne das Längenbyte (hier #$13) |
Re: Fehlendes Längenbyte
Welche Länge soll denn $13 repräsentieren? Ist es ein Hexadezimalwert, dann entspricht er 19 dezimal. Und was ist jetzt 19 Zeichen lang?
Zitat:
|
Re: Fehlendes Längenbyte
Zitat:
Zitat:
Delphi-Quellcode:
suche funktioniert es nicht!! :roll:
POS('#$',s)
|
Re: Fehlendes Längenbyte
Wenn ich richtig informiert bin, dann gibt es zwei Lese-Modi für das Auslesen der KV-Karten. Der eine Modus liefert Längenbytes, der andere liefert die Daten in einer dokumentierten Array-Struktur. Der Aufbau unterscheidet sich dabei wohl noch bei nationalen und EU KV-Karten. Auf jeden Fall erwarte ich das Längenbyte als Vorlaufbyte (serielles Auslesen) - wenn es denn geliefert wird.
Grüße vom marabu |
Re: Fehlendes Längenbyte
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz