in einer Cluster Control einzelne Elemente "ausblenden" - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: in einer Cluster Control einzelne Elemente "ausblenden" (/Thread-in-einer-Cluster-Control-einzelne-Elemente-ausblenden) Seiten: 1 2 |
in einer Cluster Control einzelne Elemente "ausblenden" - jg - 19.02.2009 21:04 ' schrieb:Das ist ja genau das, was ich gesucht habe! Wieso hab ich denn das nicht selbst gefunden? Naja, jetzt hab ich's ja. Heißt auf Deustch im übrigen "Beschriftung.Format". ...Keine Ahnung, wahrscheinlich wegen der "tollen" deutschen Übersetzung, "Beschriftung", naja... Ich habe mir angewöhnt, das "Label" eines LV-Control analog zu einer textbasierten Programmiersprache als Variablennamen zu sehen. Somit hat bei mir jedes Control ein Label (wenn nicht im FP sichtbar sein soll, kann man es ja unsichtbar machen, halt bloss nicht wegeditieren), und jedes Label kommt innerhalb eines VI auch nur einmal vor (wenn was für den User denselben "Namen" haben soll, dafür gibt es die Caption = Untertitel). Dass du die allgemeinen Control-Refnums dann auf Grund der ClassID oder Class Name auch ändern kannst, weisst du aber schon?! Einfacher ist vielleicht folgendes Bild: [attachment=16828] Gruß, Jens in einer Cluster Control einzelne Elemente "ausblenden" - IchSelbst - 19.02.2009 21:30 ' schrieb:Ich habe mir angewöhnt, das "Label" eines LV-Control analog zu einer textbasierten Programmiersprache als Variablennamen zu sehen. Somit hat bei mir jedes Control ein Label (wenn nicht im FP sichtbar sein soll, kann man es ja unsichtbar machen, halt bloss nicht wegeditieren), und jedes Label kommt innerhalb eines VI auch nur einmal vor (wenn was für den User denselben "Namen" haben soll, dafür gibt es die Caption = Untertitel).So Sachen setze ich mal stillschweigend voraus. Wer's anders macht, ist selber Schuld. Zitat:Dass du die allgemeinen Control-Refnums dann auf Grund der ClassID oder Class Name auch ändern kannst, weisst du aber schon?!Die Konvertierung in eine niedrigere Klasse hab ich schon gefunden: Das ganz ordinäre Konvertierungs-VI. Am Typeingang einfach die gewünschte Klasse anschließen. Da ich ja weiß, dass z.B. das dritte Element eines Clusters ein Boolean ist, kann ich die dritte Referenz gleich hart Typcasten nach Boolean. in einer Cluster Control einzelne Elemente "ausblenden" - IchSelbst - 19.02.2009 21:43 ' schrieb:Das ganz ordinäre Konvertierungs-VI. Am Typeingang einfach die gewünschte Klasse anschließen.Geht an sich wunderbar. Da ich ja sowieso weiß, wo (Index) welches (Typ) Control sitzt. Man sollte sich allerdings davor hüten, ein String-Control zu einen Bool'schen machen zu wollen. Das verträgt nämlich die LV-IDE (LV 8.5.1) gar nicht. in einer Cluster Control einzelne Elemente "ausblenden" - RoLe - 20.02.2009 08:47 ' schrieb:Nicht direkt, du könntest das schon dynamisch machen. Denn an den Label-Namen kommst du schon dran: ein weiterer Nachteil, bei Änderung des Label-Namen geht es auch in die Hosen. Da gilt es abzuwägen, was eher geändert wird, die Reihenfolge, Label-Name oder gar der Datentyp. in einer Cluster Control einzelne Elemente "ausblenden" - IchSelbst - 20.02.2009 09:20 ' schrieb:ein weiterer Nachteil, bei Änderung des Label-Namen geht es auch in die Hosen.Bei LV geht alles in die Hose. Zitat:Da gilt es abzuwägen,Also das kleinere Übel wählen. Zitat:was eher geändert wird, die Reihenfolge, Label-Name oder gar der Datentyp.Ggf. wird der Datentyp wie geändert, wenn der Cluster nämlich nur die selben Typen hat. Die Reihenfolge wenn geändert wird - und die wird bei Erweitrung des Clusters geändert, weil bei Tab der Cursor der Reihe nach vorgehen soll - ist das schlimmste aller Übel. Dann ändert sich nämlich auch in den Unbundle die Values - und keiner merkt es. Label-Namen sind gut. Den kann man mit so viel Redundanz versehen, dass eine Änderung des Namens ganz einfach ist: Einfach nach dem alten Namen suchen und druch den neuen ersetzen. Und da ein Vergleich der Instanznamen seltener vorkommt als ein Unbundle, sollte man über den Namen gehen. Schöner als das Property Label.Text fände ich halt ein Property Instanzname gleich unter ClassName. In Delphi ist es im übrigen genauso: Da verwendet auch keiner Components[] sondern FindComponent(InstanzName). in einer Cluster Control einzelne Elemente "ausblenden" - Lucki - 20.02.2009 10:47 Zitat:ZITAT(RoLe @ 20.02.2009 , 08:47:51) * ' schrieb:Bei LV geht alles in die Hose.Nun übertreibt mal nicht. Dann besorgt Euch doch einfach mal so ein LabVIEW, wie ich es habe ^_^ Da kann ich die Label-Namen auf dem Frontpanel beliebig änderen (Ob Element direkt oder innerhalb eines Clusters ist ganz egal) - alles läuft normal weiter. Denn alle Eigenschaftsknoten benennen sich mit um. (Bitte vorauseilend um Verzeihung, falls Ihr von etwas ganz anderem redet) Demo: [attachment=16835] [attachment=16836] in einer Cluster Control einzelne Elemente "ausblenden" - RoLe - 20.02.2009 11:19 ' schrieb:Nun übertreibt mal nicht. Dann besorgt Euch doch einfach mal so ein LabVIEW, wie ich es habe ^_^ Also ich bezog mich auf den Vergleich, Label.Name = Konstante, die Konstante passt sich eben nicht an. z.Bsp. Label.Name alt = wert1 Label.Name neu = Wert1 |