LabVIEWForum.de
Menue erstellen - Druckversion

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



Menue erstellen - dimitri84 - 04.01.2010 17:13

Einen wunderschönen Montag Nachmittag alle zusammen,

ich wünsche Euch ein frohes neues Jahr - auf das Eure guten Vorsätze halten werden.


Und zwar wollte ich meine ganzen Kombinationsfelder aus Platzgründen rausschmeißen und dafür die normale Menueleiste nutzen. Hier mein erster Versuch: ... nachdem ich mir im Example Finder eins angeschaut habe und dann noch eins von Y-P hier aus'm Forum.

[attachment=23400]
Lv85_img[attachment=23401]
EDIT: Ich sollte über Schieberegister den letzten Tag behalten damit das mit der Markierung auch mal klappt.

1. Gehe ich recht in der Annahme, dass wenn über "Menueauswahl abfragen.VI" der Tag einmal abgefragt worden ist, dass dann danach wieder nix ausgespuckt wird? Wenn das stimmt, und so schaut's aus, finde ich es sehr unpraktisch. Ich hätte lieber, dass immer der eingestellter Tag als Antwort kommt, solange bis er sich ändert ... und dann eben immer wieder den neuen Tag bei jeden Aufruf bis er sich ändert. Eben genauso wie ein Kombinationsfeld.

2. Wie kann ich den Tag zu einem bestimmten Menuepunkt abfragen, denn über "Menueauswahl abfragen.VI" bekomme ich ja nur den der zuletzt geändert worden ist. Und das auch nur einmalig.

3. Wie macht man Untermenues? D.h. da ist z.B. ein Menuepunkt "Funktionen" -> "Signaldarstellung" -> Rohsignal/RMS
Und hinter Signaldarstellung soll so ein Peil sein und, wenn man drauf geht, geht das Untermenue auf mit 2 Optionen: Rohsignal oder RMS.
z.B. sowas:
[attachment=23402]
Normales Menue halt.


Ich fürchte das alles geht nur mit 'ner Eventstruktur die auf Menueänderungen reagiert. (So wie's Y-P gemacht hat.) Das fände ich aber ziemlich umständlich.


Menue erstellen - jg - 04.01.2010 17:57

' schrieb:1. Gehe ich recht in der Annahme, dass wenn über "Menueauswahl abfragen.VI" der Tag einmal abgefragt worden ist, dass dann danach wieder nix ausgespuckt wird? Wenn das stimmt, und so schaut's aus, finde ich es sehr unpraktisch. Ich hätte lieber, dass immer der eingestellter Tag als Antwort kommt, solange bis er sich ändert ... und dann eben immer wieder den neuen Tag bei jeden Aufruf bis er sich ändert. Eben genauso wie ein Kombinationsfeld.

2. Wie kann ich den Tag zu einem bestimmten Menuepunkt abfragen, denn über "Menueauswahl abfragen.VI" bekomme ich ja nur den der zuletzt geändert worden ist. Und das auch nur einmalig.
3. Wie macht man Untermenues? D.h. da ist z.B. ein Menuepunkt "Funktionen" -> "Signaldarstellung" -> Rohsignal/RMS
Und hinter Signaldarstellung soll so ein Peil sein und, wenn man drauf geht, geht das Untermenue auf mit 2 Optionen: Rohsignal oder RMS.
z.B. sowas:
Normales Menue halt.
So:
[attachment=23406]
Du musst einem bestimmten Tag nur ein weiteres Menu zuweisen.
' schrieb:Ich fürchte das alles geht nur mit 'ner Eventstruktur die auf Menueänderungen reagiert. (So wie's Y-P gemacht hat.) Das fände ich aber ziemlich umständlich.
Worauf willst du mit deinem Pulldownmenü eigentlich hinaus. Die Standard-Anwendung ist doch, dass der User eine Auswahl im Menü vornimmt und das Programm dann darauf reagiert. Somit ist die Verwendung der Eventstruktur zur Abarbeitung von Menü-Auswahlen prädestiniert.

Ein Idee, die vielleicht zu deinen Wünschen passt:
Wenn ich richtig verstehe, willst du immer einen der Auswahl-Punkten in deinem Menü per "Haken" als markiert anzeigen. Dies würde deiner Combo-Box entsprechen. Merke dir einfach in einer Variablen oder einem Shift-Register die entsprechende Menüauswahl.

Gruß, Jens


Menue erstellen - dimitri84 - 04.01.2010 19:39

' schrieb:Die Standard-Anwendung ist doch, dass der User eine Auswahl im Menü vornimmt und das Programm dann darauf reagiert. Somit ist die Verwendung der Eventstruktur zur Abarbeitung von Menü-Auswahlen prädestiniert.
Ja ich hab' das nicht ganz zuende gedacht; im Prinzip hast du vollkommen recht.

Ich habe ja bereits eine Eventstruktur bei mir im Programm und ich hatte noch im Hinterkopf: "Nur eine Eventstruktur pro VI!". Dass das alles in einer geht wird mir jetzt erst klar.

Zitat:Merke dir einfach in einer Variablen oder einem Shift-Register die entsprechende Menüauswahl.
Genauso so hatte ich's mir für morgen vorgenommen.

Sei bedankt Jens.


Menue erstellen - dimitri84 - 08.01.2010 15:42

So in dem Abspielprogramm hat alles super funktioniert. Eine Eventstruktur mit
1)Timeout
2)Darstellung (reagiert auf benutzdefiniertes Ereignis)
3)Menüauswahl <Benutzer> (dort wird benutzdef. Ereignis generiert)

Aber in dem Programm zum Erfassen des Signals möchte ich doch bei der normalen state-machine bleiben und keine Eventstruktur verwenden. D.h. ich muss mit "Menüauswahl abfragen.VI" pollen. Jetzt frage ich mich ob die Zeit bis zum timeout (Standardmäßig auf 200 ms) meine Datenerfassung mittels DAQ beeinflussen/stören kann. Reicht es einfach eine möglichst kleine Zeitspanne einzustellen (z.B. 1ms) damit das pollen nicht unnötig aufhält? Ist pollen die einzige Alternative zur Eventstruktur?


Menue erstellen - jg - 08.01.2010 19:22

' schrieb:Ist pollen die einzige Alternative zur Eventstruktur?
Es gibt immer noch die Möglichkeit einer Producer-Consumer-Struktur. Also 2 parallele Schleifen.

In der einen machst du das Event-Handling, das andere ist deine State-Machine, in der du die Events dann verarbeitest.

Gruß, Jens


Menue erstellen - dimitri84 - 09.01.2010 14:01

' schrieb:Es gibt immer noch die Möglichkeit einer Producer-Consumer-Struktur.
Das ist bestimmt das richtige Stichwort, wenn das pollen die Datenerfassung wirklich stören sollte. Werde mich da mal reindenken ... bisher konnte ich mich erfolgreich vor der Sync Palette drücken Huh

Danke.