Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.171 Beiträge
 
Delphi 12 Athens
 
#2

AW: Verzögerte Abfrage bei Eingabe

  Alt 8. Sep 2010, 15:14
Bei jedem Klick startest du einfach einen Timer, bzw. startest ihn neu.
Also am Einfachsten so:
Delphi-Quellcode:
ReaktionsTimer.Enabled := False;
ReaktionsTimer.Enabled := True;
Im OnTimer-Ereignis führst du dann deine Bearbeitung durch und vergi nicht den Timer gleich wieder abzuschalten.
Delphi-Quellcode:
ReaktionsTimer.Enabled := False;
... // hier nun dein Code
Eventuell kann man auch im OnTimer-Ereignis, wärend der Bearbeitung, prüfen, ob nochmal das ein Klickereignis reingekommen ist und dann die earbeitung unterbrechen/abbrechen.
Sobald das nächste Timerereignis aus ausgeführt wird, wird dann die verarbeitung neu ausgeführt, bzw. fortgeführt.

Delphi-Quellcode:
// beim Klicken
ReaktionsTimer.Enabled := False;
ReaktionsTimer.Enabled := True;
KlickVariable := True;
Delphi-Quellcode:
// im Timerereignis
ReaktionsTimer.Enabled := False;
KlickVariable := False;
for i := 0 to 1000 do begin
  
  ... // hier nun dein Code
  Sleep(88); // als Beispiel "nix", darum 'ne Pause

  Application.ProcessMessages;
  if KlickVariable then break;
end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat