Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
08.03.2011, 13:40 (Dieser Beitrag wurde zuletzt bearbeitet: 08.03.2011 13:42 von S04View.)
Ich möchte die Werte einer Tabelle oder Liste auslesen und muß Sie dann zu einem String zusammensetzen. Ich hab einiges probiert, bekomme es aber nicht hin.
Wie kann ich feststellen, wieviele Einträge ein Tabelle oder Liste hat und wie kann ich auf diese gezielt zugreifen und auslesen?
Anzeige
08.03.2011, 13:58 (Dieser Beitrag wurde zuletzt bearbeitet: 08.03.2011 13:59 von Y-P.)
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
RE: Tabelle oder Liste auslesen
Nimm' doch "Array to Spreadsheet-String".
Gruß Markus
: Bist Du Schalke-Fan?
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
(08.03.2011 14:02 )NWOmason schrieb: Hallo,
eine Tabelle verhält sich programmatisch wie ein Array, also sind alle Arrayfunktionen drauf anwendbar
...
Hallo NWO,
danke für die Hilfe. Das ist jetzt sehr gut zu verstehen. Ich hatte das Problem zu erkennen, dass man "Strings verknüpfen" auch auf eine komplette Tabelle oder ein Array anwenden kann.
Nun hab ich aber noch dieses kleine Problem. Wenn die gewünschten Werte in der Tabelle sind sollen die Einträge zu einem String mit TAB als Separator zusammengefaßt werden. Das geht wohl nur über ein for-Schleife, oder?
Wenn ich eine solche for-Schleife mache, wie kann ich auf die Anzahl der Zeilen (Wert 5 in Deinem Beispiel) zugreifen, als Wert meine Anzahl der Schleifendurchläufe?
08.03.2011, 16:17 (Dieser Beitrag wurde zuletzt bearbeitet: 08.03.2011 16:19 von Kiesch.)
Einfacher ist einfach am Eingangstunnel die Indizierung zu aktivieren. Dann läuft die Schleife automatisch so oft wie Werte in der Tabelle stehen. ;-)
*edit* Achja, zu beachten ist dabei, dass die Indizierung für Labview das wichtigere Kriterium ist als ein angeschlossenes N. Wenn N angeschlossen ist und indiziert wird funzt es trotzdem, wird aber so oft abgearbeitet wie Array Elemente da sind (sprich: Man kann sich auf die Weise nicht mehr oder weniger elegant einen Zugriff auf die einzelnen Array Elemente über Array indizieren sparen, wenn man weiß, dass das Array immer größer ist als N).
Zitat:Märchen und Geschichten werden erzählt am Lagerfeuer, technischen Fakten werden mitgeteilt (oder so). (Genauso wie Software nicht auf einem Server "herumliegt", die ist dort installiert.)
(08.03.2011 14:13 )S04View schrieb: Nun hab ich aber noch dieses kleine Problem. Wenn die gewünschten Werte in der Tabelle sind sollen die Einträge zu einem String mit TAB als Separator zusammengefaßt werden. Das geht wohl nur über ein for-Schleife, oder?
Dafür kannst du auch String-Funktionen benutzen. (Man kann eigentlich fast alles so formatieren, wie man es braucht)
Beste Grüße,
NWO
9 von 10 Stimmen in meinem Kopf sagen: Ich bin nicht verrückt,
die andere summt die Melodie von Tetris.
NI schrieb:To use the abort button is like using a tree to stop a car!
danke für Deinen Vorschlag ich muss den jetzt auch mal ausprobieren.
Mittlerweile habe ich eine Lösung mit einer Schleife gefunden. Ich weiß aber nicht wie schön oder komfortabel sie ist.
Mir ist aber nicht klar warum die Property 'ObjektNamen' einer Tabelle nicht außerhalb der Schleife stehen darf, sondern innerhalb stehen muß. Kann mir das jemand erklären? Fehlermeldung: 'Array indizieren hat einen offenen Anschluß'. Die Tabelle hat übrigens nur ein Spalte.
08.03.2011, 18:52 (Dieser Beitrag wurde zuletzt bearbeitet: 08.03.2011 19:01 von Lucki.)
(08.03.2011 14:13 )S04View schrieb: Nun hab ich aber noch dieses kleine Problem. Wenn die gewünschten Werte in der Tabelle sind sollen die Einträge zu einem String mit TAB als Separator zusammengefaßt werden. Das geht wohl nur über ein for-Schleife, oder?
Das Einfachste ist hier die Verwendung der Funktion "Array nach Tabellen-String. TABs als Trennelemente sind Standard, da muß nichts mehr hinzuformatiert werden.
Oder, falls Tabelle wie bei Dir einspaltig:
(08.03.2011 17:50 )S04View schrieb: Mir ist aber nicht klar warum die Property 'ObjektNamen' einer Tabelle nicht außerhalb der Schleife stehen darf, sondern innerhalb stehen muß. Kann mir das jemand erklären? Fehlermeldung: 'Array indizieren hat einen offenen Anschluß'.
Das liegt am Tunnel, mit dem das 2D Array der 'ObjektNamen' an die Schleife angeschlossen ist. Dort ist Auto-indexing angeschaltet. Die For-Loop pickt sich nun bei jedem Durchlauf ein Element des 2D-Arrays heraus. Dies ist dann nur noch ein 1D-Array/Vektor und dieser hat ja nur eine Spalte. Demzufolge kann mit dem 'Array indizieren' nicht auf Zeilen und Spalten zugegriffen werden.
Du kannst demzufolge die Arraygrößenbestimmung weglassen und direkt über Autoindexing bei einer For-loop auf alle Elemente nacheinander im Array zugreifen.
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
RE: Tabelle oder Liste auslesen
Was ich ja auch schon in Beitrag 2 geschrieben habe. Aber als Stuttgart-Fan wird man wohl von Schalkern seit letzter Woche ignoriert.
Gruß Markus
(08.03.2011 18:52 )Lucki schrieb:
(08.03.2011 14:13 )S04View schrieb: Nun hab ich aber noch dieses kleine Problem. Wenn die gewünschten Werte in der Tabelle sind sollen die Einträge zu einem String mit TAB als Separator zusammengefaßt werden. Das geht wohl nur über ein for-Schleife, oder?
Das Einfachste ist hier die Verwendung der Funktion "Array nach Tabellen-String. TABs als Trennelemente sind Standard, da muß nichts mehr hinzuformatiert werden.
Oder, falls Tabelle wie bei Dir einspaltig:
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------