![]() |
Aktion darf nur alle 3 Sekunden ausgeführt werden.
Hi!
Ich bräuchte mal eure Hilfe. Ich will, dass eine bestimmte Aktion nur alle 3 Sekunden ausgelöst werden kann, sprich, wenn ich 2 mal innerhalb von 2 Sekunden auf den Button klicke, nur einmal was passiert.Nach 3 Sekunden ist es dann wieder "frei" Wie kann ich das realisieren? |
Re: Aktion darf nur alle 3 Sekunden ausgeführt werden.
Guten Morgen,
beim ertsen klicken die Zeit speichern (GetTickCounts) beim nächsten klicken wieder GetTickCount aufrufen und den Zeitunterschied ermitteln. Ist er kleiner als 3 Sekunden -> mache nichts Ist er größer oder gleich 3 Sekunden -> Zeit neu setzen und führe Aktionen aus. Grüße Klaus |
Re: Aktion darf nur alle 3 Sekunden ausgeführt werden.
Hi,
da haste mehrere Möglichkeiten. 1.) Du kannst nen TTimer auf dein Formular ziehen und auf drei sekunden einstellen (interval=3000) dann kannst du im Buttonklick - den Timer Aktivieren - Den Button disablen im Timer kannst du [edit=bug entfernt] - nachdem der timer einmal durchgelaufen ist den Button wieder Enablen[/edit] 2. Möglichkeit: Suche mal nach Gettickcount, damit kannst du die Zeit abfragen die vergangen ist ;) Es gibt wahrscheinlich noch mehr möglichkeiten Gruß |
Re: Aktion darf nur alle 3 Sekunden ausgeführt werden.
Moin, moin,
ja, so wie Klaus geschrieben hat! Vielleicht sollte alternativ (damit der Benutzer nicht verwirrt ist) der Button nach der ersten Click für 3 Sekunden gesperrt (disabled) werden, dann sieht der Anwender auch sofort, dass er in diesem Zeitraum keine Aktion auslösen kann Gruß |
Re: Aktion darf nur alle 3 Sekunden ausgeführt werden.
@angos: Der Timer braucht nur einmal durchlaufen zu werden, da Du das Interval bereits auf 3000 vorbesetzt.
@postruh: Welche Lösung favorisierst Du denn nun eigentlich? Erst schreibst Du, dass man es wie Klaus machen solle, dann gibst Du an, dass man den Button auch entsprechend disablen solte, was eindeutig die Lösung von angos ist :-) Gruß onlinekater |
Re: Aktion darf nur alle 3 Sekunden ausgeführt werden.
Zitat:
|
Re: Aktion darf nur alle 3 Sekunden ausgeführt werden.
Also den Button disablen geht schonmal nicht ^^
Das ganze wird über eine externe USB Karte gesteuert, welche ihre eigenen Knöpfe hat.D.h.: Mein programm reagiert auf Knopfdrücke der Karte. Ich werde mir mal Gettickcount anschauen in der Delphi Hilfe, wäre allerdings auch cool wenn es hier jemand besser als die Hilfe erklären kann. //Edit: Also ich habe grade mal nachgeschaut, und die Delphi Hilfe hat leider keinen Eintrag zu dem Thema. |
Re: Aktion darf nur alle 3 Sekunden ausgeführt werden.
Hallo, Zusammen!
Ich favorisiere die von mir vorgeschlagene Alternative, den Button für den Zeitraum zu sperren - finde ich benutzerfreundlicher :wink: |
Re: Aktion darf nur alle 3 Sekunden ausgeführt werden.
Na, N3ON,
Klaus hat die Schritte aber wirklich gut vorgegeben, versuch's doch einfach mal... |
Re: Aktion darf nur alle 3 Sekunden ausgeführt werden.
Zitat:
Schon wenn ich versuche die Zeit zu speichern: begin Gettickcounts; end; bekomme ich ne Fehlermeldung. Muss ich das vielleicht in eine Variable speichern oder so? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz