进度条如何同步显示?

dengyueguang 2003-07-07 08:33:32
我在程序中用了一个进度条,如何和我的数据进度同步显示,
有这方面的例子没?请指教
...全文
68 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
mrtxc 2003-07-07
  • 打赏
  • 举报
回复
我想楼主的这种效果必须用多线程,单独用一个线程来控件进度显示,这样才能实现实时动态显示
feicui0128 2003-07-07
  • 打赏
  • 举报
回复
学习!
zhouhaijun2 2003-07-07
  • 打赏
  • 举报
回复
var pro_step,id:Integer;
recycle_length:Integer

begin

pro_step:=progressbar1.Max Div recycle_length;//recycle_length=你所要执行程序的循环长度
For id:=1 To recycle_length Do
Begin
你所要执行的循环程序;
progressbar1.position:=progressbar1.position+pro_step;
progressbar1.refresh;
End;
End;
firetoucher 2003-07-07
  • 打赏
  • 举报
回复
如果是比较长或者是比较随机的操作,建议用多线程,通过同步技术和对象/消息进行进度的显示和控制
shenjhshen 2003-07-07
  • 打赏
  • 举报
回复
Gauge1.Visible := True;
Gauge1.MaxValue:=ADO_Goods.FieldByName(count).AsInteger;//记录


Gauge1.AddProgress(1); //写在记录
Gauge1.Hide;//最后
koma2003 2003-07-07
  • 打赏
  • 举报
回复
先用recordcount得到数据的总数,然手用这个处理的条数除以总数就是progressbar的position了
如果处理的数据太多的话就要用一个单独的线程做,不然的话就看不到动态增长的效果了
雨后阳光2000 2003-07-07
  • 打赏
  • 举报
回复
progressbar1.position:=0;
progressbar1.Max:=10000;//总时间
progressbar1.min:=0;
progressbar1.step:=1;//每步移动时间
for i:=1 to 10000 do
begin
dialy;//调用延时过程
函数控制每步的滚动时间。
end;
Close;//结束程序运行
dengyueguang 2003-07-07
  • 打赏
  • 举报
回复
对,举个例子,
我现在要更新10条记录,
当更新1条的时候显示进度条的十分之一,
当更新2条的时候显示十分之二,
依此类推,
jack968 2003-07-07
  • 打赏
  • 举报
回复
同意楼上的做法,我试过。
hkbarton 2003-07-07
  • 打赏
  • 举报
回复
说清楚点,是不是和数据库的处理同步
xiehua822 2003-07-07
  • 打赏
  • 举报
回复
用adotable或adoquery的executeoptions属性下的eoasyncfetch和eoasyncfetchnone改为true
再在它们的onfetchprogress事件中写ProgressBar1.position:=ProgressBar1.position+1;
407107 2003-07-07
  • 打赏
  • 举报
回复
Application.ProcessMessage
xiaoqlj 2003-07-07
  • 打赏
  • 举报
回复
写在循环里就可以以了。
coreblood 2003-07-07
  • 打赏
  • 举报
回复
和数据处理的什么同步》

WWWWA 2003-07-07
  • 打赏
  • 举报
回复
进度条与什么数据处理同步?详细一点

5,386

社区成员

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

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