delphi.gif (306 バイト) 時計


Timerコンポーネントを使って簡単なディジタルクロックを作ってみます。アナログ時計は結構面倒ですが、ディジタルクロックは非常に簡単です。

Timerコンポーネントをフォームに貼りつけて、オブジェクトインスペクタでIntervalを変更しておきます。デフォルトでは1000となっています。これは一秒間隔(1000ミリ秒)でタイマーイベントが発生するということです。このままでもよいのですが、これだと最大1秒の誤差が発生するので、もっと小さな値のほうがよいと思います(ただし小さくしすぎても意味がないですが)。表示は、StaticTextを使って表示しています。StaticTextのBorderStyleはsbsSunkenにして枠を表示させました。

日付と時刻はNow関数で取得します。この関数は、TDateTime型(実数型と同じ)を返すので、これを文字列に変換するDateTimeToStr関数を使って、StaticTextのCaptionプロパティに代入しています。

 

wpe1.jpg (5607 バイト)

 

ソース(青色部分がプログラムを記述した部分です)

unit Main;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    stxTime: TStaticText;
    procedure Timer1Timer(Sender: TObject);
  private
    { Private 宣言 }
  public
    { Public 宣言 }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
    stxTime.Caption := DateTimeToStr(Now);
end;

end.