ということです。
内容的には、Button1を押したらタイマーが動き出して、もう一度押したら(もしくは別のButton)とまる。もちろんタイマーの進み具合も表示していく。
できますかねぇ?
できます。
「どうやって作るんですか?」はNGワードね。
申し訳ない。
自分で作ってみました。・・・が、(オブジェクトインスペクタでTimer1.interval=10に設定)
var
a:double;
procedure TForm3.FormCreate(Sender: TObject);
begin
a:=0;
end;
procedure TForm3.BtnStartClick(Sender: TObject);
begin
timer1.enabled:=true;
end;
procedure TForm3.Timer1Timer(Sender: TObject);
begin
a:=a+0.01; //あたかも小数点第2位まで表示しているかのように
label1.Caption:=floattostr(a);
end;
procedure TForm3.BtnStopClick(Sender: TObject);
begin
timer1.enabled:=false;
end;
これだと・・・1秒が1秒じゃない!?(実際は15秒たっているのに、Label1.captionでは10秒もたってない・・・)
ので、Timerを2つ足して、それぞれTimer1が1の位、Timer2が10分の1の位、Timer3が100分の1の位として表示させました。が・・・
var
a:integer;
b,c:double;
procedure TForm3.FormCreate(Sender: TObject);
begin
a:=0;
b:=0;
c:=0;
end;
procedure TForm3.BtnStartClick(Sender: TObject);
begin
timer1.enabled:=true;
timer2.Enabled:=true;
timer3.Enabled:=true;
end;
procedure TForm3.Timer1Timer(Sender: TObject);
begin
a:=a+1;
label1.Caption:=inttostr(a);
end;
procedure TForm3.Timer2Timer(Sender: TObject);
begin
b:=b+1;
if b=10 then
b:=1;
label2.Caption:=floattostr(b);
end;
procedure TForm3.Timer3Timer(Sender: TObject);
begin
c:=c+1;
if c=10 then
c:=1;
label3.Caption:=floattostr(c);
end;
procedure TForm3.BtnStopClick(Sender: TObject);
begin
timer1.enabled:=false;
timer2.Enabled:=false;
timer3.Enabled:=false;
end;
これも微妙にずれてます。ピタリになるにはどうすればよいのでしょうか。
まるちめでぃあたいまー・・・なんてのは?
ttp://norg1964.hp.infoseek.co.jp/delphianworld/compo/graphmul.html#GM0035
StartTime := GetTickCount;
EndTime := GetTickCount;
これを比較すれば?
ツイート | ![]() |