Taste soll Balken so lange verschieben, wie Taste gedrückt ist.
Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Taste soll Balken so lange verschieben, wie Taste gedrückt ist.
Hi Leuts,
ich habe eine Balkenanzeige erzeugt - könnte z.B. die Lautstärke oder sowas darstellen. Darunter habe ich ein Anzeigelement mit dem aktuellen Zahlenwert gesetzt sowie vier Knöpfe - einen bis zum Minimum, einen bis zum Maximum und zwei Knöpfe, um die Balkenanzeige schrittweise zu verschieben. Auswerten tue ich die ganzen Sachen in einer Eventstruktur. Funktionieren tut alles ganz gut.
In dem Bild hab ich einen der Taster markiert und das zugehörige Event daneben eingeblendet. In dem Event ist noch ein Case das überprüft, ob das Minimum erreicht wurde, damit ein unterer Schwellenwert nicht unterschritten werden kann.
Das Event wird einmal ausgeführt. Ich würde gerne, dass sich der Balken aber so lange nach links bis zum Minimum verschiebt, wie ich den Schalter gedrückt halte. Ich habe zunächst die verschiedenen Schaltverhalten getestet, damit kam ich nicht zum Erfolg. Ich habe auch um die Case-Abfrage (beim Testen, ob Minimum erreicht), das ging leider auch nicht, dann wurde das Ereignis nicht beendet. Ich hatte auch einen time-out-Event eingefügt, weil ich dachte, dass das Event Taste-gedrückt dann unterbrochen würde und erneut ausgeführt würde - das war aber auch nicht der Fall.
Das Event - Balken nach links schrittweise schieben bei der markierten Taste - sollte also so lang ausgeführt werden, wie die Taste gedrückt wird - nicht nur einmalig - sondern laufend. Es müsste dann noch eine Wartefunktion mit rein, damit das nicht zu schnell geht, sondern der Balken sich gemütlich verschiebt - ich hab aber zur Zeit keine Idee, wie ich das umsetzen könnte.
Wenn mir jemand ein Stichwort oder einen Tipp geben könnte, um mein nächstes kleines Ziel zu erreichen, würde ich mich sehr freuen.
RE: Taste soll Balken so lange verschieben, wie Taste gedrückt ist.
Hallo Hasenfuss,
spiele doch mal mit den MousePress & MouseRelease-Events anstelle des "Wertänderung" - so bekommst du schon mal Anfang und Ende der "Tasten"-Betätigung mit...
RE: Taste soll Balken so lange verschieben, wie Taste gedrückt ist.
Hab nochmal eine Frage - ist mein Programmieransatz vielleicht falsch? So wie ich es eben in einem anderen Beitrag gelesen habe, gehört in eine Eventstruktur kein großes Getue rein, sondern nur das Verändern von Werten - ist das richtig?
Gedanklicher Ansatz:
- ich mache neben der Eventstruktur eine case-Struktur zum "Senken" des Balkens
- den Case verbinde ich mit einem Bedienelement vom Typ bool
- Ich erzeuge mir zwei Events
1 Maustaste Element Balken nach unten schieben gedrückt ---> bool-Bedienelement = true
2 Maustaste Element Balken nach unten scheiben losgelassen ---> bool-Bedienelement = false
RE: Taste soll Balken so lange verschieben, wie Taste gedrückt ist.
Hallo Hasenfuss,
Hintergrund ist, dass die Eventstruktur nicht blockieren sollte, d.h. durch irgendwelche langandauernden Routinen belegt wird.
Aber wie du schon schreibst: es kann so einfach sein
RE: Taste soll Balken so lange verschieben, wie Taste gedrückt ist.
Hallo,
ich habe mir eine Balkenanzeige gebastelt, mit der ich sehr zufrieden bin. Ich kann dort Werte übergeben - Min-Wert, Max-Wert, Schwellenwerte zum Wechseln der Farbe, ich habe Tasten, mit denen ich den Balken hin- und herfahren kann ... alles klappt wunderbar.
Mein Problem - ich möchte das Frontpanel dieses VIs in ein neues VI einfügen und z.B. drei dieser Anzeigen haben. Ich möchte es nicht als separates Fenster haben.
Kann mir von Euch jemand ein Stichwort nennen oder einen Tipp, wo ich einen Lösungsansatz für mein Problem finden kann? Ich würde mich sehr drüber freuen.
RE: Taste soll Balken so lange verschieben, wie Taste gedrückt ist.
Hallo Hasenfuß,
vielleicht ist auch das Thema "Sub-Panel" eines für dich. Hierbei kannst du ein VI ausführen lassen und dessen FP in ein anderes VI einbetten (in dessen SubPanel). Ich fürchte nur, dass du ein Problem bekommst, wenn du, wie du beschreibst, ein- und dasselbe VI mehrfach einbetten willst - das kann ich dir aben nicht genau sagen.