Re: Timer in einer Schleife!!
Wenn ich es richtig verstanden habe, willst du deine Procedure anhalten, der Benutzer soll die Zeit haben, was Einzugeben und das Programm soll weiterlaufen, dann müsste es so funktionieren. :gruebel:
Delphi-Quellcode:
und in Deine Procedure die du stoppen willst muss nur an die passende Position...
procedure Delay(Milliseconds: Integer);
var Tick: DWord; Event: THandle; begin Event := CreateEvent(nil, False, False, nil); try Tick := GetTickCount + DWord(Milliseconds); while (Milliseconds > 0) and (MsgWaitForMultipleObjects(1, Event, False, Milliseconds, QS_ALLINPUT) <> WAIT_TIMEOUT) do begin Application.ProcessMessages; if Application.Terminated then Exit; Milliseconds := Tick - GetTickcount; end; finally CloseHandle(Event); end; end;
Delphi-Quellcode:
Delay(10000); //10000 gibt die Zeit in ms an.
|
Re: Timer in einer Schleife!!
DAnke für die Antwort auf meine Frage zu
Timer.enabled:= true; aber noch eine Frage hierbezüglich. Beginnt der Timer also mit dieser Funktion zu zählen? |
Re: Timer in einer Schleife!!
Mal angenommen du würdest dem Timer eine Zeit von 1000 ms einstellen, dann würde er nach dem aufruf 1000ms später die im zugewiesenen Funktionen durchführen und nach weiteren 1000 ms erneut.
Solang bis
Delphi-Quellcode:
Timer.Enabled := false;
|
Re: Timer in einer Schleife!!
ganz trivial gesagt: alle timer1.interval millesekunden wird der code ausgeführt, den du im timer schreibst ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:40 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