LabVIEWForum.de - Tabellenstring in Numeric

LabVIEWForum.de

Normale Version: Tabellenstring in Numeric
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Leute,

ich hab einen Tabellenstring, der Hex-Zahlen enthält. Jeweils 2 dieser Zahlen gehören zusammen und ergeben einen Wert, den ich jeweils auslesen will.

Beispiel:
String: 0xB8,0B --> Hex-Zahl: 0BB8 --> Wert: 3000

Das Beispiel funktioniert soweit ganz gut. Ich nehme die "0x" mit einem Teilstring per Offset weg, wandle den String in ein Array um, vertausche das zweite und erste Element des Arrays, setze einen neuen String zur Hex-Zahl zusammen und wandle den Wert in einen numerischen Wert um. Genau das selbe soll aber nun auch funktionieren, wenn ich mehrere (eine unbestimmte Anzahl von Werten in diesem String stehen habe.

Beispiel:
0xB8,0B,D0,07 --> 0BB8,07D0 --> 3000, 2000

Leider habe ich keinen Einfluss auf den Aufbau des Strings am Anfang. Hat jemand eine Idee, wie ich das sinnvoll umsetzen kann?
Also ich hab jetzt keine Zeit, um das auszuprobieren (poste doch mal dein bisheriges VI, dann kann ich es evtl entsprechend anpassen). Aber ich würde das folgendermaßen lösen:

- Du schneidest das 0x vorne ab
- du splittest deinen String immer so auf, dass du alles vor einem Komma als Teilstring nimmst, bis kein Komma mehr gefunden wird
- aus den ganzen Teilstrings baust du dir ein Array zusammen
- danach musst du immer nur 2 aufeinanderfolgende Zahlen miteinander verknüpfen, so dass du eine Hexzahl daraus bekommst

Das müsste eigentlich so funktionieren.
Nochmal ich,

jetzt hatte ich mal ein wenig Luft, um da ein bisschen rumzuprobieren und immerhin funktioniert es auch. Unter der Voraussetzung, dass die einzelnen Hexwerte immer mit 2 Chars in dem String drinstehen. Aber das kann sonst ja immer Probleme machen.

Ist vielleicht nicht die schönste Art, das umzusetzen, aber was einfacheres ist mir nicht eingefallen.

Ich hoffe, dass das deine Anforderungen erfüllen und dich damit ein wenig weiterbringen kann.

Viele Grüße,
Joe

Ist in Version 8.2 erstellt.
[attachment=4398]

[attachment=4399]
' schrieb:Ist vielleicht nicht die schönste Art, das umzusetzen, aber was einfacheres ist mir nicht eingefallen.
Ja, es geht schon noch einfacher. Der Trick dabei ist, daß man die Funktion "Tabellenstring nach Array" durchaus auch auf einzeilige Strings wie diesen anwenden kann, die nicht gerade aussehen wie eine Tabelle.
[attachment=4400]
Naja, die String2Array Funktion ist es, die mich hier grad ein wenig überrascht. Weil ich hatte mir das eigentlich angeschaut, aber wohl falsch konfiguriert. Weil bei mir tat das nicht, was es sollte.

Das mit dem Decimate und Join hab ich vorher noch nie verwendet und vom Join wusste ich noch nichtmal, dass das existiert.Smile

Man lernt doch nie aus.
Referenz-URLs