Frage zum Fokus eines Register Tabs - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Frage zum Fokus eines Register Tabs (/Thread-Frage-zum-Fokus-eines-Register-Tabs) |
Frage zum Fokus eines Register Tabs - HansWerner - 21.08.2009 17:21 Ich habe mir eine While-Schleife gebastelt in der auf ein bestimmtes Ereignis gewartet wird. Es werden zwei Listbox Elemente angezeigt. Wird in die eine Listbox geklickt wird der entsprechende String in die zweite Listbox übernommen bzw. falls bereits enthalten wieder gelöscht. Nun soll die While-Schleife ja auch wieder verlassen werden. Man könnte natürlich dafür einen Button verwenden. Wie kann ich die While-Schleife verlassen wenn ich mit der Maus die entsprechende Registerkarte verlasse ? Muß ich hier mit Register Event und Unregister Event arbeiten ? Also beim "betreten" der Registerkarte muß das Ereignis "Maustaste losgelassen" registriert und beim "verlassen" der Registerkarte muß das Ereignis "Maustaste losgelassen" deregistriert werden ? Also zwei weitere Ereignisse zum Registrieren und Unregistrieren des ersten Ereignisses definieren ? Frage zum Fokus eines Register Tabs - schrotti - 21.08.2009 18:01 Du musst eigentlich nichts registrieren und deregestrieren. Verstehe dein Problem nicht so richtig. Am besten wäre ein Upload deines VIs. Frage zum Fokus eines Register Tabs - IchSelbst - 23.08.2009 15:37 ' schrieb:Ich habe mir eine While-Schleife gebastelt in der auf ein bestimmtes Ereignis gewartet wird.So ist das wohl richtig. Zitat:Wird in die eine Listbox geklickt wird der entsprechende String in die zweite Listbox übernommen bzw. falls bereits enthalten wieder gelöscht.Und das alles geht über BenutzerEvents innerhalb der Event-Struktur in der While-Schleife (Wertänderung der ListBox!) - davon gehe ich mal aus. Zitat:Nun soll die While-Schleife ja auch wieder verlassen werden.Warum? Zitat:Wie kann ich die While-Schleife verlassen wenn ich mit der Maus die entsprechende Registerkarte verlasse ?Warum willst du die While-Schleife, die, so scheit es, die Listboxen bearbeitet, verlassen? Die kannst du ohne weiteres weiterlaufen lassen. Frage zum Fokus eines Register Tabs - HansWerner - 24.08.2009 07:34 Zitat:Warum willst du die While-Schleife, die, so scheit es, die Listboxen bearbeitet, verlassen? Die kannst du ohne weiteres weiterlaufen lassen. Ja, haha, sehr originell. Irgendwann soll es in der Verarbeitung bzw. im Signalfluß ja auch weitergehen. Ich will mich nicht unendlich lange in der While-Schleife aufhalten. Siehe Anhang. Ich möchte gerne den Button ersetzen. Frage zum Fokus eines Register Tabs - IchSelbst - 24.08.2009 08:24 ' schrieb:Ja, haha, sehr originell. Irgendwann soll es in der Verarbeitung bzw. im Signalfluß ja auch weitergehen. Ich will mich nicht unendlich lange in der While-Schleife aufhalten.Eine EventStruktur in einer While-Schleife widerspricht nicht dem Datenflußprinzip. Auch in LV gilt: Benutzereingaben, die ja einmalig sind, werden per Event-System verarbeitet. Automatische Abläufe kann man sehr gut mit Statemachine machen. Beide Systeme - Statemachine in While-Schleife und Eventsequenz in einer anderen While-Schleife - müssen nicht zwangsläufig sequenziert werden. Frage zum Fokus eines Register Tabs - HansWerner - 24.08.2009 08:45 Auch in LV gilt: Benutzereingaben, die ja einmalig sind, werden per Event-System verarbeitet. Was heisst jetzt hier "einmalig" ? Der Zeitpunkt und die Reihenfolge der Eingaben ist nicht bekannt. Automatische Abläufe kann man sehr gut mit Statemachine machen. Was ist jetzt hier "automatisch" ? Du meinst eher Automat. Zustand - Ereignis - Ereignisübergang - Neuer Zustand. Beide Systeme - Statemachine in While-Schleife und Eventsequenz in einer anderen While-Schleife - müssen nicht zwangsläufig sequenziert werden. "Sequenziert" ? Existiert das Wort laut Duden ? Was willst du damit sagen ? Frage zum Fokus eines Register Tabs - IchSelbst - 24.08.2009 09:17 Ersten: Wenn du bei einem Posting unten links auf "zitieren" klickts und dann ganz unten am Ende aller Eintrage auf "antworten" sind die ausgewählten Zitate vorbesetzt. ' schrieb:Was heisst jetzt hier "einmalig"?Einmalig heißt: Klick auf Button, oder Beenden der Eingabe einer Zahl mit z.B. Enter. etc. Alles das, was zeitlich gesehen eine Flanke darstellbat ist ("ab jetzt"), gilt als einmalig und kann idealerweise mit einem EventCase gemacht werden. Guckst du auch in der Beschreibung zu LV. Für textbasierte Programmiersprachen gilt hier das selbe. Zitat:Der Zeitpunkt und die Reihenfolge der Eingaben ist nicht bekannt.Genau aus diesem Grunde macht man ja ein Event daraus. Ohne Eventgesteuert müsste man pollen - das währe aber Resourcenverschwendung. Zitat:Was ist jetzt hier "automatisch" ?Alles das, was ohne Benutzereingriff ablaufen kann. z.B. eine Steuerung eines Prüfablaufes. Zitat:"Sequenziert" ?= derart verbunden, dass alles der Reihe nach, also sequenzell, abläuft. Sequenzieren ist das Verb aus dem Hauptwort Sequenz. Demzufolge exestiert es laut Duden. Sequenzierung ist dann notwendig, wenn abhängige Programmteile programmiert werden. Normalerweise findet eine Seqeunzierung per Error-Cluster statt. Fehlt die Sequenzierung, kann es zu unerwünschen Programmzuständen kommen. Nachtrag: Deinen Soucecode von halb neun kann ich mir erst heute abend anschauen. Frage zum Fokus eines Register Tabs - IchSelbst - 24.08.2009 19:20 ' schrieb:Wie kann ich die While-Schleife verlassen wenn ich mit der Maus die entsprechende Registerkarte verlasse ?Es gibt ein Event "Maus verlässt Bereich". Guckst du, ob das auch für Registerkarten gilt. Von einem Beenden der While-Schleife (eigentlich: der Möglichkeit der Eingabe) durch ein Ereignis wie "Maus verlässt Registerkarte" würde ich abraten. Ereignisse wie MouseMove, MouseOver etc. sollte man nicht zum Beenden eines Zustandes verwenden. Die Maus ist nämlich schnell mal über den Bildschirm gefahren - nur: dann ist der Zustand abgeschlossen, was der Anwender gar nicht wollte. Außerdem bleibt es dir überlassen, wie du die While-Schleife beenden willst. z.B. nach 5 Sekunden. |