TTimer
English · Français · Suomi · Русский
TTimer
is component on the System tab of the Component Palette and delivers a timer with usually millisecond resolution. It inherits most of its properties from TCustomTimer. It is defined in the ExtCtrls unit.
Countdown calculation example
- Drop a label, shape and timer components on main form
- Doubleclick this Timer1 on the form (the default handler: OnTimer is created for Timer1, the source text editor opens).
- Add following source code in the event handler:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Caption := Format('%d sec',[start]);
Dec(start);
if (start < 5) then Shape1.Brush.Color:=clYellow;
if (start < 0) then begin
Timer1.Enabled := False;
Shape1.Brush.Color:=clGreen;
Label1.Caption := 'Finished!';
end;
end;- Create the OnCreate event handler of Form1 (go in the Object Inspector to the event OnCreate and click the button [...]).
- Complete the source code as follows:
procedure TForm1.FormCreate(Sender: TObject);
begin
Caption := 'Countdown calculation';
Timer1.Interval := 1000;
Timer1.Enabled := True;
Label1.Caption := '';
Shape1.Shape := stCircle;
Shape1.Brush.Color:=clRed;
start := 20;
end;- In the source editor, entering class TForm1 in the section private.
- Add code
start: integer; - Start program (with Key
F9)
Notes
- In order to restart the counter of the timer use the following code:
Timer1.Enabled := False;
Timer1.Enabled := True;Each time the code is executed the timer shall start counting from the beginning without the OnTimer event being triggered.
See also
From the Free Pascal wiki, page "TTimer", as it stood on 2023-01-10 after a change by Dirkjvanderveen, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.
Talk about this page
Nobody has opened a bench for this page yet. Sign in to open one.
