Hallo.
Ich arbeite mit einer State-Machine und reagiere dementsprechend auf die Events von Buttons.
Nun stehe ich vor der Problematik, dass nach Drücken eines Buttons ein zweiter innerhalb vier Sekunden gedrückt werden muss.
Erfolgt dies nicht, wird eine Fehlermeldung ausgegeben.
Wie realisiere ich dies?
So als Input, wenn du keine Eventstruct verwendest nimmst du den TickCount (ms)
Geht sicher eleganter ... vielleicht reichts um dich inspirieren zu lassen.
[
attachment=23847]
Gruß dimitri
' schrieb:Mein Ziel ist es allerding, dies über eine Eventstruktur mit Meldern zu realisieren.
Was willst du über den Event verschicken: Die Tatsache, dass die vier Sekunden um sind oder den zweiten Tastendruck (oder beides)?
Ich würde den "zweiten Tastendruck" machen.
Und zwar so:
Der eine State checket die erste Taste. Im nächsten State wird dann solange verblieben, bis vier Sekunden um sind (im Raster von 50ms, wegen generellen Abbrechens der Statemachine) oder bis die Taste per Melder angekommen ist. Dabei wird abgefragt, ob der Wert im Melder True oder False ist. Es wird nicht abgefragt, ob ein neuer Wert vorhanden ist. Der Melder wird also wie eine ganz normale Variable verwendet.
Rein aus Neugier...
..wirst du dem Nutzer sagen (bzw. es visualisieren), dass er nur 4 Sekunden Zeit hat um den Knopf zu drücken?
Gruß SeBa
Der Nutzer weiß im allgemeinen, dass er 4 Sekunden Zeit hat, um den zweiten Button zu betätigen.
Aber gegen eine Darstellung der Zeit spricht eigentlich nichts.
Warum fragst du?
' schrieb:Warum fragst du?
1. ... aus Neugier.
2. ... um dir implizit den Tip zu geben den Countdown auch zu visualisieren. Was ja auch funktioniert hat.
(Ich war so frei zu antworten.)
3. ... weil mir beim Lesen gleich mehrere Ideen bzgl. der Visualisierung gekommen sind.
Magst du mal erläutern, warum der User den 2. Button innerhalb von 4 Sekunden drücken muss? Und was passiert, wenn er es nicht schafft?
Bin halt neugierig...
Gruß SeBa