こんにちは。はじめて質問させていただきます。
最近、約1年ぶりにDelphiのプログラムに触れています。…が、
ProgressBarを使用して、例えば30秒ならその時間の経過と共に
増やすのではなく、逆に少しずつ減らしていくようにして、更に
残り時間をEditかPanelに「あと○秒」のように表示させたいのですが、
正直知識があまり無いので全然分かりません…。
…やっぱり、Timerを使うんですよね?
ヘルプを見たりはしてるんですけど、
でも、Timerの使い方が全然わかっていないもので…。
TimerもProgressBarも値を代入したり取得するだけで簡単にプログラム可能です
以下を参考にしてみて下さい。
procedure TForm1.FormCreate(Sender: TObject);
begin
//以下はデザイン時に設定可能
Timer1.Enabled:=false; //タイマー停止状態で開始
Timer1.Interval:=1000;
ProgressBar1.Max:=30;
ProgressBar1.Min:=0;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Sec:=30; //初期化
ProgressBar1.Position:=30;
Label1.Caption:='あと30秒';
Timer1.Enabled:=true; //タイマースタート
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
dec(Sec);
ProgressBar1.Position:=Sec;
Label1.Caption:='あと'+inttostr(Sec)+'秒';
if Sec<1 then Timer1.Enabled:=false; //0になったら止める
end;