最近、Delphiを始めた初心者ですが、フォームにButton1を配置して、それをクリックしてからの経過時間を00:00:00の形でLabel1に表示したいのですが、どうすればいいのでしょうか?
Halbow です。
Form1 に Timer1 Button1 Label1 を置いて以下のようにします。
var
Start:DWORD;
procedure TForm1.FormCreate(Sender: TObject);
begin
Timer1.Enabled := false;
Timer1.Interval := 100;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Start := GetTickCount;
Timer1.Enabled := true;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
Ji,Hun,Byou:integer;
Progress:integer;
begin
Progress := (GetTickCount-Start) div 1000;
Ji := Progress div 3600;
Hun := (Progress mod 3600) div 60;
Byou := Progress - Ji*3600 - Hun*60;
Label1.Caption := Format('%.2d:%.2d:%.2d',[Ji,Hun,Byou]);
end;
Halbow です。
こっちの方がよいかもしれません。
var
Start:TDateTime;
procedure TForm1.FormCreate(Sender: TObject);
begin
Timer1.Enabled := false;
Timer1.Interval := 100;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Start := Now;
Timer1.Enabled := true;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
Progress:TDateTime;
begin
Progress := Now - Start;
Label1.Caption := FormatDateTime('hh:nn:ss',Progress);
end;
付け加えです。
経過時間の00:00:00は00分00秒00ミリ秒です。
よろしくお願いします。
Halbow です。
> 経過時間の00:00:00は00分00秒00ミリ秒です。
ミリ秒というのは千分の一秒ですよ。二桁では表せません。
Label1.Caption := FormatDateTime('hh:nn:ss',Progress);
これをヘルプを見て書き直してください。
Halbowさん ありがとうございました。
早速やってみます。
出来ました!
ありがとうございました。
ツイート | ![]() |