LabVIEWForum.de - Hex String arbeitet mit ascii werten

LabVIEWForum.de

Normale Version: Hex String arbeitet mit ascii werten
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen,

ich habe folgendes Problem:
Ich habe ein String Control, welches als Anzeigeoption Hexadezimal konfiguriert ist.
Dort kann der Benutzer einen Hex-Wert eingeben.
Da die Empfängerseite eine bestimmte "Syntax" in den Hex-Werten erwartet, muss mein Programm an alle 0x10h Werte nochmal den Wert 0x10h anhängen.
Beispiel:
Eingangsstring:
15 3A 10 12 00
Ausgangsstring:
15 3A 10 10 12 00

Wenn ich mir über eine Schleife jeweils die nächsten zwei Zeichen des Strings hole um zu überprüfen ob die den Hex-Wert 0x10 hat, bekomme ich die Werte aber in Ascii umgewandelt und ich kann den Hex-Wert nicht vernünftig vergleichen.
Ist bestimmt nur ne blöde Kleinigkeit, aber ich komm nicht drauf.
Wie wäre denn der sinnvollste Weg, so eine Erweiterung des Hex-Strings anzugehen?

Gruß
TDO
Hallo TDO,
kleines Beispiel. Da es eine reine Stringverarbeitung ist.
Wenn die Eingabe schon in HEX-Anzeige ist, wieso dann nach 2 Zeichen suchen??? Du musst nur das 1 Zeichen 0x10 suchen. Ganz billig erledigt das die Funktion "Search and Replace" für dich:
[attachment=55151]
Gruß, Jens
Danke für die Idee Freddy.

Der Quellstring ist aber als Hexadezimal-Anzeige konfiguriert. Dadurch habe ich keine Leerzeichen zwischen den einzelnen Bytes und das VI kann zum einen die einzelnen Array-Elemente nicht erkennen und zum anderen steht dann auch im Array, der Hex-Wert als Ascii Zeichen, bringt mich also leider nicht weiter.
(25.01.2016 15:06 )jg schrieb: [ -> ]Wenn die Eingabe schon in HEX-Anzeige ist, wieso dann nach 2 Zeichen suchen??? Du musst nur das 1 Zeichen 0x10 suchen. Ganz billig erledigt das die Funktion "Search and Replace" für dich:

Gruß, Jens

Das werde ich mal testen. Das Problem dabei ist noch, dass nicht alle 0x10 Werte ergänzt werden dürfen.
Es darf nur ergänzt werden, wenn danach nicht der Wert 0x02 oder 0x03 steht.

Werde aber mal testen, ob man es mit dem Ansatz machen kann.

Danke dafür
Okay, ist schon getestet und wie ich schon vermutet habe, gibts ne ganz einfache Lösung und so ist es auch.
Das funktioniert so, wenn ich den Rest rausfiltere.

Danke nochmal.
Referenz-URLs