Einzelnen Beitrag anzeigen

David Martens

Registriert seit: 29. Sep 2003
205 Beiträge
 
Delphi XE Enterprise
 
#5

Re: Uhr ohne Hilfe vom "Ttimer" erstellen

  Alt 27. Apr 2010, 23:21
Das ist nicht so schwer.

Delphi-Quellcode:

procedure Uhr_starten;
var
  tick : extended;
begin
  tick := Now + // Now ist eine Funktion zum Holen der Systemzeit
          1 / 3600; // eine Sekunde draufrechnen

  // hier die Uhr starten

  repeat

    while (Now - tick) < 0 do sleep(10); // in 10 Millisekundenschritten warten bis eine Sekunde um ist

    tick := tick + 1 / 3600; // wieder eine Sekunde weiter gehen

    // Uhr neu zeichnen

    Application.ProcessMessages;

  until SpeedButton1.Down;
Zur Erläuterung:
- tick beinhaltet die Zeit der nächsten Sekunde
- Application.ProcessMessages; arbeitet Ereignisse ab, die (für hier) den StopButton abfragen lässt, Oberfläche neu zeichnet ... das kann etwas dauern, daher die Konstruktion mit der Zeit in der Zukunft
- jetzt der StopButton: hier SpeedButton1 mit folgenden wichtigen Eigenschaften allowallup := true und groupindex > 0

Ich hab den Code nicht getestet, aber es soll ja auch noch was übrig bleiben .

Gruß David
  Mit Zitat antworten Zitat