LabVIEWForum.de
Registerkarte - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Registerkarte (/Thread-Registerkarte--30535)

Seiten: 1 2


Registerkarte - Ebe419 - 19.02.2018 17:44

Hallo Leute,

habe eine Frage zu dem Element "Registerkarte".

Ich würde gerne, je nachdem welche "Seite" des Elements "Registerkarte" aktiv ist einen Case mit der jeweiligen Bezeichnung (1,2,3,4....) aufrufen.
Hierzu habe ich bspw. 4 Seiten auf der Registerkarte und eine Case Strucktur mit den Cases 1,2,3 und 4 - Standard.

Soll heißen, wenn Seite 1 aufgerufen wird auch Case 1 ausgeführt wird usw....

Hat mir jemand eine passende Lösung?

Vielen Dank schon mal im Voraus! Guru1Guru1


Ganz wichtig!

Die Case Strucktur soll nicht über die Bezeichnung der Seiten also "Seite 1","Seite 2","Seite 3"... aufgerufen werden,
sondern wirklich über die jeweilig ausgewählte Seite!

Es muss egal sein wie die Seiten benannt sind, oder ob sie umbenannt werden.
Ich möchte eine Funktion, bei der ich über die 1. Seite der Registerkarte eine 1 erhalte, über die 2. Seite eine 2.... usw.

Hoffe das reicht jetzt an Information Spam

Liebe Grüße und Danke!


RE: Registerkarte - jg - 19.02.2018 17:49

Lokale Variable (oder das Control selber) des Terminals im Blockdiagramm an die Case-Struktur anschließen. Fertig.

Gruß, Jens

EDIT: Alternative: Variable der Registerkarte in eine Zahl wandeln, z.B. per "To Long Integer" Funktion.

Gruß, Jens


RE: Registerkarte - GerdW - 19.02.2018 20:03

Hallo Ebe,

Zitat:Ich möchte eine Funktion, bei der ich über die 1. Seite der Registerkarte eine 1 erhalte, über die 2. Seite eine 2.... usw.
Du weißt schon, dass "normalerweise" ab Null beginnend gezählt wird?
Wenn du für die erste Seite eine Eins bekommen willst, musst du nach dem "To I32" noch ein Inkrement einfügen…


RE: Registerkarte - Ebe419 - 19.02.2018 20:48

Hallo GerdW,

danke für die Info, aber daran scheitert es Momentan nicht =).

@Jens:
Ich habe mich vermutlich nicht deutlich genug ausgedrückt,
daher im Anhang ein Vi um es besser zu verstehen.

Das ich die Cases über die Bezeichnung der Seiten anwählen kann ist klar!

Dafür müsste ich die Cases einfach "Seite XY, Test, *** und ###" nennen.

Ich möchte aber an die Information kommen, welche Seite aktiv ist!

Also:
Seite XY = Seite 0
Test = Seite 1
*** = Seite 2
### = Seite 3

Dadurch ist es egal, welchen Titel die Seite trägt und ich kann über die ausgewählte Seite bzw.
deren Position 0,1,2,3...bestimmen, welcher Case ausgeführt werden soll.

Ich hoffe nun ist es etwas klarer, was ich erreichen will.

Liebe Grüße
Ebe


RE: Registerkarte - jg - 19.02.2018 21:59

Dann noch mal der "Alternativ-Edit" als Bild:
[attachment=58823]
Gruß, Jens


RE: Registerkarte - IchSelbst - 19.02.2018 22:21

(19.02.2018 20:48 )Ebe419 schrieb:  Dadurch ist es egal, welchen Titel die Seite trägt und ich kann über die ausgewählte Seite bzw. deren Position 0,1,2,3...bestimmen, welcher Case ausgeführt werden soll.
Ich kann zwar immer noch nicht nachvollziehen, warum du das so machen willst.

Aber:
Im Kontextmenü einer jeden Registerkarte kannst du unter Fortgeschritten den Parameter "Registerkartenname wie Beschriftung" anpassen. Ohne Haken ist also die Beschriftung vom Namen getrennt. Beachte: Kann man für jede Registerkarte einzeln einstellen. So kannst du der Registerkarte einen Namen geben und eine unterschiedliche Beschriftung.


RE: Registerkarte - Lucki - 20.02.2018 00:37

Dein Wunsch ist kinderleicht zu erfüllen:
[attachment=58824]
Das Problem ist nur - und deshalb hast Du diese Antwort so noch nicht bekommen - : Es kann sich niemand vorstellen, daß man so bescheuert sein kann, das so zu machen. Bei direktem Anschluß der Registerkarte an die Case-Struktur wird automatisch für jeden Tab ein gleichnamiger Case angelegt, man muß es nur im Kontextmenü anklicken. Das ist bequem und sehr schön selbst-dokumentierend. Bei Änderung der Seitenahmen ändern sich automatisch die Namen das Cases mit. Was will man mehr? Es sollte mich sehr wundern, wenn Du einen einzigen Grund nennen kannst, daß Du das anders haben willst.


RE: Registerkarte - GerdW - 20.02.2018 07:53

Hallo,

noch ein Nachtrag zu diesem leidigen (und aus unserer Sicht unbegründetem) Thema:
Sobald du das Tab-Enum in eine ordinäre Zahl umwandelst, musst du bei der Case-Struktur ZWINGEND einen Default-Case definieren (oder mit Ranges arbeiten). Das kann dazu führen, das eben doch nicht der gewünschte/erwartete Case abgearbeitet wird…


RE: Registerkarte - IchSelbst - 20.02.2018 10:16

(20.02.2018 00:37 )Lucki schrieb:  einen einzigen Grund nennen kannst, daß Du das anders haben willst.
z.B. programmatisches Ändern der Beschriftung im Zuge einer Online-Sprachanpassung.

Kann die Beschriftung der Karte per Programm geändert werden, wenn Beschriftung = Name eingestellt ist?

@Ebe:
Noch ein Nachteil, wenn Name != Beschriftung: Woher weißt du in der Entwicklungsumgebung, wie der Name der Karte ist, von der du nur die Beschriftung siehst?


RE: Registerkarte - Lucki - 20.02.2018 13:56

(20.02.2018 10:16 )IchSelbst schrieb:  Kann die Beschriftung der Karte per Programm geändert werden, wenn Beschriftung = Name eingestellt ist?
Die kurze Antwort: Nein, und es ist egal ob Beschiftung = Name eingestellt ist oder nicht
Die lange Antwort: Es kommt darauf an, was Du mit "per Programm" meinst. Genau so, wie man manuell die Beschriftung ändern kann, wenn sich das VI nicht im Ausführungsmodus befindet, so geht das auch von einem anderen laufenden VI aus, wobei sich das VI um das es geht nicht im Ausführunsmodus befinden darf. Probiert habe ich es noch nicht, aber aus den Fehlermeldungen wenn man es versucht geht das so hervor.