LabVIEWForum.de
Wertänderung NUR durch Enterbestätigung - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Wertänderung NUR durch Enterbestätigung (/Thread-Wertaenderung-NUR-durch-Enterbestaetigung)



Wertänderung NUR durch Enterbestätigung - Scuba - 06.10.2015 09:24

Hallo

ich möchte mehrere Motoren ansteuern und habe mir dafür einen Cluster aus den einzelnen numerischen Bedienfeldern zusammengestellt.
In einer Ereignisstruktur frage ich den Cluster nach Wertänderung ab und steuere dann durch Vergleich von altem mit neuem Clusterwert eine Casestruktur, in der ich dann letztendlich festlege welcher Motor fahren soll.
Das klappt eigentlich auch so wie es soll: Also Eingabe des Wertes in das Bedienfeld...Bestätigung mit Enter...Motor fährt los!
Nur hab ich jetzt gemerkt, dass es auch mal vorkommen kann, dass man schon einen neuen Wert ins Feld eingegeben hat und es sich dann aber doch nochmal überlegt und lieber zuerst einen anderen Motor fahren lässt...
Das Eingabefeld nimmt diese Eingabe aber trotzdem schon als Wertänderung auf und der Motor beginnt zu fahren sobald ich woanders hinklicke.
Hab schon versucht zusätzlich zu dem Wertänderungsereignis ein Taste losgelassen Ereignis hinzuzufügen, aber irgendwie scheinen die sich nicht zu vertragen. Also ich kann dann nicht mehr den alten und den neuen Wert abgreifen..

Also das Problem scheint ja ziemlich simpel aber irgendwie bin ich bis jetzt noch auf keine Lösung gekommen. Gibt es ein Möglichkeit die Wertänderung wirklich NUR durch die Entereingabe zu übernehmen?


RE: Wertänderung NUR durch Enterbestätigung - GerdW - 06.10.2015 10:05

Hallo Scuba,

Zitat:Gibt es ein Möglichkeit die Wertänderung wirklich NUR durch die Entereingabe zu übernehmen?
Nein. Wenn du einen Zahlenwert eintippst und das numerische Control dann den Fokus verliert, wird ein ValueChange-Event ausgelöst.

Du könntest prüfen, ob die Enter-Taste gedrückt wurde und darüber steuern, ob das ValueChange-Event abgearbeitet oder ignoriert wird…
Du musst es nur entsprechend programmieren! Big Grin

Tipp: Bei größeren SCADA-Systemen gibt der Benutzer Werte nicht direkt in ein Control ein, sondern nur über ein aufpoppendes Fenster. Dieses hat dann neben der Zahleneingabe einen OK- und einen CANCEL-Button. Vielleicht wäre das ja etwas für dich…


RE: Wertänderung NUR durch Enterbestätigung - Lucki - 06.10.2015 10:11

Ich habe da auch keine Lösung parat, aber das allgemein Übliche in solchen Situationen ist doch, dass, bevor es ernst wird, erst mal ein Dialogfeld wie "Möchten Sie wirklich, dass jetzt das und das gemacht wird? J/N" eingeblendet wird. Aber das willst Du wohl nicht?


RE: Wertänderung NUR durch Enterbestätigung - Scuba - 06.10.2015 12:18

Vielen Dank erstmal für die Antworten.
Also das System zur Justage einer Probe besteht aus insgesamt 8 Motoren, deren Postion auch wirklich relativ häufig und schnell hintereinander geändert wird.
Es würde meiner Meinung nach, einfach ein bißchen den Arbeitsfluß hemmen, wenn man nach jeder Eingabe nochmal auf einen Okay-Button klicken müsste, wobei das natürlich die sicherste Lösung wäre.

Zitat:Du könntest prüfen, ob die Enter-Taste gedrückt wurde und darüber steuern, ob das ValueChange-Event abgearbeitet oder ignoriert wird…
Du musst es nur entsprechend programmieren!

Aber so klappts auf jeden Fall! Hab jetzt noch einen zusätzlichen Ereigniscase erstellt, der reagiert wenn auf dem VI die Entertaste gedrückt wird und dann ein True in ein Schieberegister schreibt.
Die Motorbefehle in meinem Wertänderungscase werden jetzt nur ausgeführt, wenn aus dem Schieberegister auch das True kommt.
Vielen Dank Für den Tipp!