Unit1 = TimerSample1.pas
{1998 Digital Timer, 塚越p.91を参照 }
unit TimerSample1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Timer1: TTimer;
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private 宣言 }
public
{ Public 宣言 }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
var
GT : Integer; {経過時間、グローバル変数で宣言}
{スタートボタンのイベントハンドラ}
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := ' 00.00';
Timer1.Interval := 10; {タイマーの間隔を10/1000秒}
end;
{ストップボタンのイベントハンドラ}
procedure TForm1.Button2Click(Sender: TObject);
begin
Timer1.Interval := 0; {タイマーの間隔を0秒にするとタイマーを停止できる}
GT := 0; {経過時間をクリアする}
end;
{タイマーのイベントハンドラ}
procedure TForm1.Timer1Timer(Sender: TObject);
var
SC,MS : Integer;
begin
GT := GT + 1; {1/100秒経過させる}
SC := GT div 60; {秒の部分を求める}
MS := GT mod 60; {1/100秒の部分を求める}
{ ss.mmの形式で表示する}
if SC>=10 then
Edit1.Text := ' '+IntToStr(SC)+'.'+IntToStr(MS)
else
Edit1.Text := ' 0'+IntToStr(SC)+'.'+IntToStr(MS);
end;
end.
1998/05/30 T.Katayama