INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

1D Array mit String Refnum



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!

24.03.2010, 10:39 (Dieser Beitrag wurde zuletzt bearbeitet: 24.03.2010 23:00 von jg.)
Beitrag #1

frankthetank Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Mar 2010

8.6
2010
de

76571
Deutschland
1D Array mit String Refnum
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


Angehängte Datei(en)
Sonstige .vi  Fragestellung.vi (Größe: 16,52 KB / Downloads: 298)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.03.2010, 11:32
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.696
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
1D Array mit String Refnum
' 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.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.03.2010, 19:34
Beitrag #3

frankthetank Offline
LVF-Neueinsteiger


Beiträge: 2
Registriert seit: Mar 2010

8.6
2010
de

76571
Deutschland
1D Array mit String Refnum
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


Angehängte Datei(en)
Sonstige .vi  test2.vi (Größe: 18 KB / Downloads: 278)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.03.2010, 20:04 (Dieser Beitrag wurde zuletzt bearbeitet: 24.03.2010 20:06 von IchSelbst.)
Beitrag #4

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.696
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
1D Array mit String Refnum
' 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!


Angehängte Datei(en) Thumbnail(s)
   

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.06.2010, 16:24
Beitrag #5

D!D! Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Aug 2007

2012
2000
DE_EN

52353
Deutschland
1D Array mit String Refnum
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!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.06.2010, 18:19
Beitrag #6

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.696
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
1D Array mit String Refnum
' 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.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.06.2010, 18:22 (Dieser Beitrag wurde zuletzt bearbeitet: 10.06.2010 18:26 von Lucki.)
Beitrag #7

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
1D Array mit String Refnum
' 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
Sonstige .vi  test2_WA.vi (Größe: 9,01 KB / Downloads: 226)

Lv82_img
Sonstige .vi  test2_WA.vi (Größe: 16,82 KB / Downloads: 231)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.06.2010, 18:31
Beitrag #8

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
1D Array mit String Refnum
' 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

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.06.2010, 16:14
Beitrag #9

D!D! Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Aug 2007

2012
2000
DE_EN

52353
Deutschland
1D Array mit String Refnum
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!


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.06.2010, 19:58
Beitrag #10

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
1D Array mit String Refnum
' schrieb:Werde das dann demnächst mit 4096 Buttons testen.
Wie bitte, 4096? Wie kriegt man die auf ein FP? Wink

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: