LabVIEWForum.de - Erkennung Wann ist welcher Reiter eines Registers aktiv?

LabVIEWForum.de

Normale Version: Erkennung Wann ist welcher Reiter eines Registers aktiv?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,
ich habe folgendes Problem:
Ich habe 2 Funktionen mit Sub-Vi's etc., beide sind in unterschiedlichen Reitern eines Registerelementes untergebracht. Das ganze befindet sich in einer while-schleife und soll immerwieder neu ausgeführt werden:
Aber: Es soll nur die Funktion ausgeführt werden, deren Elemente zu dem aktuell sichtbaren Reiter gehören.
(Man sieht ja immer nur einen Reiter, wenn man auf den anderen klickt dann nur den anderen etc.)
Ich bekomme über Eigenschaftsknoten etc. nicht raus, welcher Reiter gerade aktiv ist.
Hat da jemand einen Hinweis wie man das realisieren kann?
Falls ich das Problem unklar formuliert habe bitte einfach nochmal nachhaken.
Vielen Dank im voraus, Martin




PS: ich benutze LabVIEW 8.2
Dazu nimmst du einfach das Tab-Control selbst, da bekommst du die aktive Seitennummer raus. Oder das Property Value.
' schrieb:Dazu nimmst du einfach das Tab-Control selbst, da bekommst du die aktive Seitennummer raus. Oder das Property Value.

so habe ich mir das auch gedacht, aber ich finde beim eigenschaftsknoten die "variable" aktive Seitennummer oder ähnliches nicht.
oder wie meinst du das? (sorry bin noch nicht sehr LabVIEW-fortgeschritten)
' schrieb:aber ich finde beim eigenschaftsknoten die "variable" aktive Seitennummer oder ähnliches nicht.
Die "Variable" heißt nicht "aktive Seitennummer" sondern schlichtweg "Wert" - auf neuhochdeutsch "Value". Also von dem vielen Möglichkeiten des Eigenschaftsknoten einfach "Wert" wählen.
' schrieb:Die "Variable" heißt nicht "aktive Seitennummer" sondern schlichtweg "Wert" - auf neuhochdeutsch "Value". Also von dem vielen Möglichkeiten des Eigenschaftsknoten einfach "Wert" wählen.

und der Wert ist dann einfach 1,2,... je nach aktuell aktivem Tab? (sorry ausprobieren kann ichs erst morgen)
' schrieb:und der Wert ist dann einfach 1,2,... je nach aktuell aktivem Tab?
Jein.

"Ordinal" gesehen hat das erste TabSheet (Reiter) den Wert 0, das zweite 1 usw. Der Ordinalwert ergibt sich aus einer Typanpassung nach Int32.

Das Registerkartenelement wird aber nicht mit Zahlen bearbeitet, sondern mit Enumeratoren. Normalerweise ist der Wert eines Reiters mit der Beschriftung des Reiters identisch. Wenn du am Eigenschaftsknoten eine Konstanten erzeugen lässt, siehst du das. Diese Konstante ist vom Typ Enumerator. Eine lokale Variable vom Registerkartenelement oder den Eigenschaftsknoten kannst du mit so einer Konstanten vergleichen etc.
Das Einfachste ist die Erstellung einer lokalen Variablen. Warum ihr hier alle statt dessen den 100mal langsameren Eigenschaftsknoten "Wert" propagiert, das soll verstehen wer will. Ich nicht.
' schrieb:Das Einfachste ist die Erstellung einer lokalen Variablen. Warum ihr hier alle statt dessen den 100mal langsameren Eigenschaftsknoten "Wert" propagiert, das soll verstehen wer will. Ich nicht.

' schrieb:Hallo,
ich habe folgendes Problem:
Ich habe 2 Funktionen mit Sub-Vi's etc., beide sind in unterschiedlichen Reitern eines Registerelementes untergebracht. Das ganze befindet sich in einer while-schleife und soll immerwieder neu ausgeführt werden:
Aber: Es soll nur die Funktion ausgeführt werden, deren Elemente zu dem aktuell sichtbaren Reiter gehören.
(Man sieht ja immer nur einen Reiter, wenn man auf den anderen klickt dann nur den anderen etc.)
Ich bekomme über Eigenschaftsknoten etc. nicht raus, welcher Reiter gerade aktiv ist.
Hat da jemand einen Hinweis wie man das realisieren kann?
Falls ich das Problem unklar formuliert habe bitte einfach nochmal nachhaken.
Vielen Dank im voraus, Martin
PS: ich benutze LabVIEW 8.2

Ich habe mich nur auf die Frage orientiert. Sonst hat du recht.
' schrieb:Das Einfachste ist die Erstellung einer lokalen Variablen. Warum ihr hier alle statt dessen den 100mal langsameren Eigenschaftsknoten "Wert" propagiert, das soll verstehen wer will. Ich nicht.


Vielleicht kannst du mir die Variante auch kurz erklären? Das funktioniert dann über Referenz oder?
Gruß, Martin
Nein! Du musst nur eine lokale Variable deines TabControls erzeugen (rechstklick aufs Tab und "create local variable" auswählen) und auf "Read" einstellen!
Seiten: 1 2
Referenz-URLs