AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Aktion darf nur alle 3 Sekunden ausgeführt werden.
Thema durchsuchen
Ansicht
Themen-Optionen

Aktion darf nur alle 3 Sekunden ausgeführt werden.

Ein Thema von N30N · begonnen am 11. Sep 2007 · letzter Beitrag vom 11. Sep 2007
Antwort Antwort
Seite 1 von 3  1 23      
N30N

Registriert seit: 7. Aug 2007
78 Beiträge
 
#1

Aktion darf nur alle 3 Sekunden ausgeführt werden.

  Alt 11. Sep 2007, 09:14
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?
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Aktion darf nur alle 3 Sekunden ausgeführt werden.

  Alt 11. Sep 2007, 09:17
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
Klaus
  Mit Zitat antworten Zitat
angos

Registriert seit: 26. Mai 2004
Ort: Rheine
549 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Aktion darf nur alle 3 Sekunden ausgeführt werden.

  Alt 11. Sep 2007, 09:19
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ß
Ansgar
  Mit Zitat antworten Zitat
pstruh
(Gast)

n/a Beiträge
 
#4

Re: Aktion darf nur alle 3 Sekunden ausgeführt werden.

  Alt 11. Sep 2007, 09:22
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ß
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.875 Beiträge
 
Delphi 12 Athens
 
#5

Re: Aktion darf nur alle 3 Sekunden ausgeführt werden.

  Alt 11. Sep 2007, 09:29
@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
Thomas Breitkreuz
Gruß Thomas
- Admin DelphiPRAXIS
- Admin Delphi-Treff
- Embarcadero MVP
  Mit Zitat antworten Zitat
angos

Registriert seit: 26. Mai 2004
Ort: Rheine
549 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Aktion darf nur alle 3 Sekunden ausgeführt werden.

  Alt 11. Sep 2007, 09:33
Zitat von onlinekater:
@angos: Der Timer braucht nur einmal durchlaufen zu werden, da Du das Interval bereits auf 3000 vorbesetzt.
wie peinlich... da war ich wohl wieder mit dem Kopf woanders als mit den fingern ^^ beitrag korrigiert
Ansgar
  Mit Zitat antworten Zitat
N30N

Registriert seit: 7. Aug 2007
78 Beiträge
 
#7

Re: Aktion darf nur alle 3 Sekunden ausgeführt werden.

  Alt 11. Sep 2007, 09:35
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.
  Mit Zitat antworten Zitat
pstruh
(Gast)

n/a Beiträge
 
#8

Re: Aktion darf nur alle 3 Sekunden ausgeführt werden.

  Alt 11. Sep 2007, 09:36
Hallo, Zusammen!
Ich favorisiere die von mir vorgeschlagene Alternative, den Button für den Zeitraum zu sperren - finde ich benutzerfreundlicher
  Mit Zitat antworten Zitat
pstruh
(Gast)

n/a Beiträge
 
#9

Re: Aktion darf nur alle 3 Sekunden ausgeführt werden.

  Alt 11. Sep 2007, 09:38
Na, N3ON,
Klaus hat die Schritte aber wirklich gut vorgegeben, versuch's doch einfach mal...
  Mit Zitat antworten Zitat
N30N

Registriert seit: 7. Aug 2007
78 Beiträge
 
#10

Re: Aktion darf nur alle 3 Sekunden ausgeführt werden.

  Alt 11. Sep 2007, 09:46
Zitat:
Na, N3ON,
Klaus hat die Schritte aber wirklich gut vorgegeben, versuch's doch einfach mal...
Tut mir Leid, ich kriegs nicht hin, selbst wenn ich mich an die Anleitung halte.

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?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz