这个进度条怎么写?

ItOldHorse 2003-06-25 11:26:24

procedure ...

begin
procedure1; //此过程对应进度条1

procedure2; //此过程对应进度条2


end;

这个程序有两过程,procedure1及procedure2,

如何实现当执行procedure1时显示一个进度条1,procedure1执行完后进度条1消失

接着执行进度条2,procedure2执行完后进度条2消失。


即如何实现进度条与相关过程同步。

...全文
97 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackie168 2003-06-25
  • 打赏
  • 举报
回复
procedure TForm1.Timer1Timer(Sender: TObject);
begin
ProgressBar1.Position:=ProgressBar1.Position+10;
if ProgressBar1.Position=100 then
begin
ProgressBar1.Hide;
ProgressBar2.Position:=ProgressBar2.Position+10;
end;
end;
DWGZ 2003-06-25
  • 打赏
  • 举报
回复
一个进度条就可以了, 加一个Label, 不就可以标识吗你要的又不是总体进度与部分进度的功能

procedure1完了以后
改一下Label的提示
再设一下ProcessBar的Max,Postion就可以了
Linux2001 2003-06-25
  • 打赏
  • 举报
回复
if ProgressBar1.Position = ProgressBar1.Max then
begin
ProgressBar1.Visible :=False;
ProgressBar2.Visible :=True;
Progress2Step;
end
else
ProgressBar1.StepIt;

procedure Progress2Step;
begin
while (ProgressBar2.Position < ProgressBar2.Max) do
ProgressBar2.StepIt;
end;
smartcreater 2003-06-25
  • 打赏
  • 举报
回复
这样的示列:
(如copy 文件夹,里面的文件数量很多 )可用
progressBar1.max = i ;{ i 只要与文件数量大致相当就可以,
不很精确控制进程条的 position,但用户也看不出来}
reapt
copyFile(f1,tof1)
progressBar1.Setpby(1)
until 所有文件copy结束
if progressBar1.Position < progressBar1.Max then
progressBar1.position := progressBar1.Max;
//----------------- 过程1完成
如果copy 一个(少量)很大的文件(上十M)
可用TFileStream copy文件
这样可以时刻的到文件的已复制的大小与总的大小(这样可以精确控制进程条的position)
//----------------------过程1完成

你要进度条消失,把它的visible :=False 也可以

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧