如何用进度条,在线等,TKS!

yangzhum 2005-12-05 06:35:11
我写了一个查询,查能要一段时间才出结果,我想用一个进度条显示其进度

请问该如何做?TKS!
...全文
186 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qizhanfeng 2005-12-06
  • 打赏
  • 举报
回复
ProgressBar1.max:=100;
adoquery1的executeOptions 置eoAsyncFetchNonBlocking为true,其他属性false
在adoquery1的onFetchProgress事件里写


procedure TForm1.ADOQuery1FetchProgress(DataSet: TCustomADODataSet;
Progress, MaxProgress: Integer; var EventStatus: TEventStatus);
begin
ProgressBar1.Position:=Progress*100 div MaxProgress;
application.ProcessMessages;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
with adoquery1 do
begin
close;
sql.text := 'select * from sysobjects,sysobjects a ';
open;
end;
end;
ZyxIp 2005-12-05
  • 打赏
  • 举报
回复
ProgressBar1 进度条

如果在循环中用 Application .ProcessMessages ;

否则用线程
XBox360 2005-12-05
  • 打赏
  • 举报
回复
进来才发现这里是DELPHI,走错了……
XBox360 2005-12-05
  • 打赏
  • 举报
回复
最主要的就是楼上说的Positon and Step
可以看看BCB的例子(好像有)
老之 2005-12-05
  • 打赏
  • 举报
回复
ProgressBar的Position控制进度的位置,Step控制增量,这两个属性是经常用到的。
每完成一部分内容就改变一下Position的值,应该就可以了。

16,749

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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