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.
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
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.