お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
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