LabVIEWForum.de - langer String nach Zeichenzahl gegliedert in array schreiben

LabVIEWForum.de

Normale Version: langer String nach Zeichenzahl gegliedert in array schreiben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe folgendes Problem.
Ich erhalte Messwerte als String geliefert und ich weiß, dass ein Messwert 4 Zeichen lang ist. Nun möchte ich die einzelnen Messwerte in einem Array darstellen.

Bei meinem VI habe ich ein Beispiel String angegeben und ich weiß nicht was ich als Trennzeichen eingeben muss, damit er nach jeder vierten Zahl trennt.

Lv09_img2


Danke
Da dein Eingangsstring kein sinnvolles Trennzeichen enthält, kannst du auch nicht mit "Spreadsheet String to Array" arbeiten. Stattdessen musst du dich schrittweise durch den String arbeiten. Hier 2 Möglichkeiten, die mir auf die Schnelle einfallen:
[attachment=50832]
Gruß, Jens
Noch einer:
[attachment=50833]
danke euch beiden. hat funktioniert. :-)
Die einfachste von den 3 genannten Vorschlägen ist wohl die 2. Lösung von Jens. Und die ließe sich so noch weiter vereinfachen:
[attachment=50834]
Hallo Lucki,

oder ganz ohne (relativ langsame) String-Parse-Funktion:
[attachment=50835]
Wenn man ein Bytearray empfängt, kann man auch damit rechnen…
@Lucki:
FOR-Loop ist der While-Loop vorzuziehen, da hier der LV-Compiler schon vorab den benötigten Speicherplatz am Ausgang der Loop berechnen und reservieren kann. Bei der While-Loop kann er das nicht. Bei einem sehr langen String sollte die While-Loop also deutlich langsamer sein.

Gruß, Jens
(22.09.2014 13:26 )GerdW schrieb: [ -> ]Wenn man ein Bytearray empfängt,...
Wenn der String empfangen wird, z.B über eine serielle Schnittelle (worüber Gammler aber nichts verrät), dann gäbe es das ganze Problem der Sringtrennung sowieso nicht: einfach 4-byteweise aus dem Empfangspuffer lesen.

@Jens
Zitat:FOR-Loop ist der While-Loop vorzuziehen, da hier der LV-Compiler schon vorab...
Das ist schon klar, nur hat Gammel nichts gesagt, dass der String riesenlang ist. Also ist davon auszugehen, dass die Stringlänge des Beipieles in etwa repräsentativ für die Stringlänge ist.

Und in so einem Fall vertrete ich ein ganz anderes Optimierungskriterium als als Du und Gerd. Da frage ich nicht: Mit welcher Variante spare ich xx µs Ausführungszeit ein, sondern ich frage: Wie spare ich yy Sekunden Nachdenken ein, wenn ich den Code ein Jahr später wieder sehe und ihn verstehen muss.
Referenz-URLs