LabVIEWForum.de
Komma bzw. tab im Array - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Komma bzw. tab im Array (/Thread-Komma-bzw-tab-im-Array)

Seiten: 1 2


Komma bzw. tab im Array - bigfudge - 15.11.2012 11:39

Hallo liebe Leut,

Ich wälze mich gerade durch einen alten LabView-Code. In dem Code wird in einem SubVI ein Array mit Hilfe der Match-Pattern-Funktion zu nächst zu aufgeteilt, dass die einzelnen Bestandteile am Zeichen "tab" (simuliertes Drücken der Tabulatortaste) geteilt und dann mit Build-Array der Reihe nach in einen neuen 2D-Array geschrieben werden, so dass die vorher durch tab getrennten Bestandteile jeweils ein eigenes Element des 2D-Arrays darstellen.
[attachment=42230]
Kurz darauf wird im übergeordneten VI genau das gleiche mit dem gerade entstandenen 2D-Array gemacht, nur jetzt wird beim Zeichen "," getrennt und das 2D-Array mit einer For-Schleife Zeile für Zeile durchgegangen.
[attachment=42231]

Kann mir jemand sagen, was die Zeichen "tab" und "," im Array zu bedeuten haben? Werden dadurch bestimmte Bestandteile des Arrays getrennt, sodass man mit dem beschriebenen Vorgang den vormals langen Array Stück für Stück in die gewollten mundgerechten Häppchen aufteilt?

Darüberhinaus verstehe ich nicht ganz, warum im übergeordneten VI die in einandergeschachtelten For-Schleifen keine Iterationsangabe haben, das VI aber dennoch ausführbar ist.

Viele Dank für die Antworten!


RE: Komma bzw. tab im Array - GerdW - 15.11.2012 11:47

Hallo big,

Zitat:Kann mir jemand sagen, was die Zeichen "tab" und "," im Array zu bedeuten haben?
Das sind wohl die Trennzeichen in deinen Daten.
- Erst wird umständlich an Tabs getrennt, hier bietet sich die Funktion SpreadsheetStringToArray an, die sollte das gleiche erledigen.
- Dann wird jedes Element dieses 2D-Arrays umgerechnet. Anscheinend ist eine Angabe wie "9876,1234" enthalten, die dann umgerechnet wird mit der Formel "x + y/10^(len(y)". Dies entspricht wiederum der Stringkonvertierung mit dem Formatcode "%,;%f" und könnte von der oben genannten Funktion gleich mit erledigt werden...

Ich würde sagen: Ein herrliches Beispiel eines RubeGoldbergs. Big Grin


RE: Komma bzw. tab im Array - Kiesch - 15.11.2012 11:51

Habs nicht ganz im Detail verstanden, aber scheinbar macht das ganz nichts weiter, als eine 2D Tabelle mit Kommazahlen, die durch Tabs getrennt sind (das ist offensichtlich ne Uservorgabe und an sich erstmal willkürlich gewählt) getrennt und in einem 1D Array (also quasi Zeilenweise) gespeichert sind erstmal in ein 2D String - Array zu zerlegen (unter Benutzung der Tabs die im 1D Array gesetzt wurden).
Damit steht dann wenn das 1D Array eine "gültige" Tabelle enhält in jeder Zelle genau eine Zahl.

Danach wird nur noch nach Vor dem Komma und nach dem Komma aufgetrennt und entsprechend in eine Double Zahl umgewandelt (warum dafür allerdings nicht gleich float string nach Zahl benutzt wird und stattdessen erst nach zwei Integers gewandelt und dann auf Double umgerechnet wird erschließt sich mir nicht; allerdings bedingt die verwendete Methode eben, dass man nach dem Komma im Float String suchen muss.

Gruß Kiesch


RE: Komma bzw. tab im Array - jg - 15.11.2012 11:54

Offtopic2
Ich stimme Gerd zu! HILFE, wer hat das verbrochen! Wall

3 SubVIs lassen sich hierauf eindampfen:
[attachment=42232]

Gruß, Jens


RE: Komma bzw. tab im Array - bigfudge - 15.11.2012 12:08

Hm ok das macht Sinn, auch von der eigentlichen Funktion her...Es werden nämlich Dateien aus einer Tabelle ausgelesen und im Endeffekt aufbereitet. Also ist es anscheinend so, dass die einzelnen Einträge in der Tabelle durch tab getrennt sind und Kommazahlen enthalten, die umgewandelt werden sollen. Und dazu macht man dann das zweite VI.

Werd mal schauen ob ich das entschlacken kann!

Vielen Dank Smile


RE: Komma bzw. tab im Array - jg - 15.11.2012 12:17

(15.11.2012 12:08 )bigfudge schrieb:  Werd mal schauen ob ich das entschlacken kann!
Guckst du meinen Screenshot, Beitrag #4!


RE: Komma bzw. tab im Array - bigfudge - 15.11.2012 13:43

Jo merci dir! Habs ausprobiert und übernehm das denk ich!


RE: Komma bzw. tab im Array - bigfudge - 07.03.2013 14:33

Hallo ich bins nochmal,

Jetzt habe ich doch noch ein kleines Problem damit. In einer neuen Anwendung ist es notwendig, dass alle Einträge aus dem String in den Array übernommen werden und nicht nur die Zahlenwerte, also auch Beschriftungen, Einheiten etc. Bis jetzt gibt mir die Funktion ja einen DOuble-Array aus und der enthält ja so was bekanntlich nicht...


RE: Komma bzw. tab im Array - GerdW - 07.03.2013 14:36

Hallo big,

dann musst du wohl erst in ein String-Array umwandeln und dann jeden Teilstring in seine Bestandteile zerlegen. Dann nur die Zahlen nach DBL umwandeln...

Wenn du mal ein konkretes Beispiel geben würdest, könnte man auch konkreter antworten. Aber bisher hast du ja nichts preisgegeben!


RE: Komma bzw. tab im Array - bigfudge - 07.03.2013 14:55

Bei welchem Zeichen sind die Teile eines String normalerweise getrennt, weil weder Tab noch Space funktioniert richtig...