Thema: Delphi Eigenen Timer schreiben

Einzelnen Beitrag anzeigen

bumpelwumpel

Registriert seit: 19. Feb 2009
8 Beiträge
 
#1

Eigenen Timer schreiben

  Alt 19. Feb 2009, 12:30
Hi,

ich möchte für ein Programm eine Timer schreiben.
Dafür will ich die GetTickCount Funktion nutzen. Nur funktioniert es irgendwie nicht richtig.

Delphi-Quellcode:
procedure TForm1.Timer(dauer: integer);
var systime,zaehler: integer;
begin
  zaehler:=0;
  systime:=GetTickCount;
  while dauer>zaehler do
  begin
        if (systime+1000)<=GetTickCount then begin
            Inc(zaehler);
            ListBox1.Items.Add(InttoStr(zaehler)); //zum test der ausgabe
            systime:=GetTickCount;
        end;
  end;
end;
Das Programm scheint die Schleife auszuführen, aber die CPU Auslastung geht auf 100% und das Programm reagiert für die in der Variablen "dauer" nicht mehr.
Wenn die Zeit abgelaufen ist, bringt das Programm die Testausgabe auf einen Schlag.

Was läuft bei dieser Schleife schief?

Und ich hab nochmal eine Frage. Wie kann ich den Timer deklarieren, dass das Programm ihn aufrufen kann und dann für die mitgegebene Zeitdauer pausiert?

mfg bumpelwumpel
  Mit Zitat antworten Zitat