|
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"ストップウォッチサンプル"
{ Button1は開始・終了、Button2はクリアー、
LableSecは秒、LabelMSecはミリ秒、Label1は: です。}
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
LabelSec: TLabel;
LabelMSec: TLabel;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private 宣言 }
FSokutei: Boolean;
FStartTime: DWord;
Procedure TimePrint(PTime: Integer);
Procedure Timer(Sender: TObject; var Done: Boolean);
public
{ Public 宣言 }
end;
var
Form1: TForm1;
implementation
Uses
MMSystem;
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
If FSokutei Then
Begin
Form1.Tag := Tag + TimeGetTime - FStartTime;
TimePrint(Form1.Tag);
Application.OnIdle := Nil;
End
Else
Begin
FStartTime := TimeGetTime;
Application.OnIdle := Timer;
End;
FSokutei := Not FSokutei; {測定フラグを反転}
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Form1.Tag := 0;
TimePrint(Form1.Tag);
end;
procedure TForm1.TimePrint;
Const
BeforeSec: Integer = 0;
begin
If BeforeSec <> PTime Div 1000 Then
Begin
BeforeSec := PTime Div 1000;
LabelSec.Caption := IntToStr(BeforeSec);
End;
LabelMSec.Caption := Format('%.3d', [(PTime Mod 1000)]);
end;
Procedure TForm1.Timer(Sender: TObject; var Done: Boolean);
Var
ATime: Integer;
begin
ATime := Form1.Tag + TimeGetTime - FStartTime;
TimePrint(ATIme);
end;
end.
97/10/26(Sun) 07:48am BYQ05322 らせん企画の佐々木
Original document by らせん企画 氏 ID:(BYQ05322)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|