LabVIEWForum.de - 1D Array mit String Refnum

LabVIEWForum.de

Normale Version: 1D Array mit String Refnum
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo Zusammen,

sitze gerade über meiner Projektarbeit und komme auf keine Lösung. Ich habe 6 Stringboxen auf meinen Frontpanel und möchte diese auch in einen Subvi manipulieren können z.B ausgrauen.
Dazu benutze ich auf jedes Stringboxelement eine Referenz und bündle diese zu einen Array von typ String Refnum.
Darauf lässt sich wieder eine Refernz erstellen und die einzelnen Refnumern der Stringboxen im Unterprogramm auslesen.
Das klappt, jedoch schaff ich es nicht jetzt mit Eigenschaftsknoten die Stringboxen zu füllen oder auszugrauen.
Würde mich freuen, wenn mir jemand weiterhelfen könnte.

mfg

Lv09_img2
' schrieb:Dazu benutze ich auf jedes Stringboxelement eine Referenz und bündle diese zu einen Array von typ String Refnum.
Top1
Zitat:Darauf lässt sich wieder eine Refernz erstellen und die einzelnen Refnumern der Stringboxen im Unterprogramm auslesen.
Flop

Übergib das Array of StrRef als ganz normalen Parameter an das Unterprogramm. Dann kannst du ganz einfach über ArrayIndizieren auf die Referenzen zugreifen.

Mach vom ArrOfStrRef ein Bedienelement (Kontextmenü->Erstelle->Bedienelement). Dieses Bedienelement schneidest du mit Ctrl-X aus. In das SubVI fügst du das Bedienelement dann mit Ctrl-V ein. Als Eingangsparameter definieren und fertig.
Hallo,

danke für die Antwort, habe nach langen grübeln doch eine Möglichkeit gefunden die Refernzen in ein Array zusammenzufassen. Danach sind die selbigen über ein Schieberegiester in jeden Teil meiner State Machine verfügbar Mellow. Vielleicht eine etwas umständliche Methode, aber sie funzt.

LabVIEW Version 2009

mfg
' schrieb:eine Möglichkeit gefunden die Refernzen in ein Array zusammenzufassen. Danach sind die selbigen über ein Schieberegiester in jeden Teil meiner State Machine verfügbar
Ich würde so Sachen wie diese "nach spezifische Klasse" nur verwenden, wenn's unbedingt notwendig ist. Bisher sehe ich bei deiner Anwendung hierfür keine Notwendigkeit.

Warum willst du unbedingt die Referenz auf das Array übergeben?

Nachtrag:
Ist was Verwenden des Property "Wert(signalisierend)" notwendig oder reicht dir nicht das normale Werte-Property? Das Property "Wert(signalisierend)" hat eine Spezialfunktion - es löst einen Event aus!
Hallo,

Ich verwende oft Referenzen-Arrays, um über Property-Nodes auf deren Eigenschaften in einer Schleife zugreifen zu können. Das Bündeln solcher Arrays ist jedoch ab einer höheren Anzahl von Elementen sehr mühsam. Gibt es eine Möglichkeit diese Referenzen-Arrays automatisch bzw. programmatisch zu erzeugen? Kann man z.B. bei einem Button-Array irgendwie auf die Referenzen der einzelnen Elemente (4096 Buttons!) zugreifen, um z.B. deren BoolText zu ändern?

Vielen Dank und schöne Grüße
D!D!
' schrieb:Gibt es eine Möglichkeit diese Referenzen-Arrays automatisch bzw. programmatisch zu erzeugen?
Prinzipiell Ja.
Panels (z.B. Frontpanel, Cluster etc.) haben ein Property namens "Panelelemente". Dieses Property enthält die Referenzen auf alle Elemente als Array of Ref.. Diese Referenzen sind allgemeine Objekt-Referenzen. Du kannst dir jetzt aus diesem Array genau die Referenzen herausholen, auf deren Elemente du per Referenz zugreifen willst. (Dazu fragst du per Referenz das Element, wie es heißt ...)

Zitat:Kann man z.B. bei einem Button-Array irgendwie auf die Referenzen der einzelnen Elemente (4096 Buttons!) zugreifen, um z.B. deren BoolText zu ändern?
Nein.
Arrays haben die gute/schlechte Eigenschaft, dass alle Eigenschaften der einzelnen Elemente identisch sind - außer die Eigenschaft "Wert". Du kannst also den Wert eines einzelnen Elementes ändern, nicht aber den Boolschen Text. Willst du den "Boolschen Text" ändern, muss das Element ein solches sein, bei dem "Boolscher Text" der Wert ist.
' schrieb:Das Bündeln solcher Arrays ist jedoch ab einer höheren Anzahl von Elementen sehr mühsam. Gibt es eine Möglichkeit diese Referenzen-Arrays automatisch bzw. programmatisch zu erzeugen? Kann man z.B. bei einem Button-Array irgendwie auf die Referenzen der einzelnen Elemente (4096 Buttons!) zugreifen, um z.B. deren BoolText zu ändern?
Ich vermeide das Bündeln im BD dadurch, daß ich auf dem FP die Elemente zu Clustern zusammenfasse und dann im BD als erstes die Funktion "Cluster zu Array" verwende. Wenn man es geschickt macht, hat man durch die Clusterung kaum Einschränkungen in der FP-Gestaltung - im Gegensatz zur Bündelung in Arrays. Im Beispiel unten z.B merkt niemand, daß die Elemente doppelt verclustert sind.

Man kann das VI übrigens noch mehr vereinfachen, bzw. es enthält Nonsens-Code: : Wenn man an das Sub-VI (Hier repräsentiert durch die For-Schleife) eine Referenz übergibt, kann man natürlich über diese auch die Werte lesen. Es ist dann unnötig, zusätzlich zur Referenz über einen zweiten Eingang noch mal die Werte direkt zu übergeben.

Lv86_img[attachment=27042]
Lv82_img[attachment=27043]
' schrieb:Hallo,

Ich verwende oft Referenzen-Arrays, um über Property-Nodes auf deren Eigenschaften in einer Schleife zugreifen zu können. Das Bündeln solcher Arrays ist jedoch ab einer höheren Anzahl von Elementen sehr mühsam. Gibt es eine Möglichkeit diese Referenzen-Arrays automatisch bzw. programmatisch zu erzeugen?
Jau, mit dem Right-Click-Framework geht das:
http://decibel.ni.com/content/docs/DOC-5678

Gruß, Jens
Hallo,

sorry wegen der späten Antwort. Konnte leider nicht gleich an diesem Projekt weiter arbeiten. Habe mich auch erst mal mit den JKI-Toolkits vertraut machen müssen. Jetzt ist es mit dem Right-Klick-Framework gelungen, ein Array of References automatisch zu erstellen. Ein tolles Tool. Einen Riesen Dank an Jens G für den Hinweis. Werde das dann demnächst mit 4096 Buttons testen. Wahrscheinlich muss ich zunächst Teil-Arrays erstellen und diese dann nachher zusammenfassen, da sonst der Bildschirm zu klein ist.

Auch vielen Dank für die Hinweise von Lucki und IchSelbst. Mit eurer Hilfe konnte ich das Problem des automatischen Zugriffes auf den Boolschen Text der Buttons lösen. Ich hänge mal einen Screen shot vom Source code (LV 8.6.1) an.

Vielen Dank nochmal an alle.
D!D!
' schrieb:Werde das dann demnächst mit 4096 Buttons testen.
Wie bitte, 4096? Wie kriegt man die auf ein FP? Wink

Gruß, Jens
Seiten: 1 2
Referenz-URLs