起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 434|回复: 13

【结贴】类似于等待条的功能**

[复制链接]
发表于 2009-5-13 08:45:01 | 显示全部楼层 |阅读模式
有个功能,它打开时候要持续30秒到1分钟的时间,这就需要在这段时间内弹出个提示:报表正在统计中,请等待.........。当功能打开时候,提示就消失了。
这样的功能有人做过吗?
回复

使用道具 举报

发表于 2009-5-13 09:16:01 | 显示全部楼层

Re: 类似于等待条的功能

使用ProgressBar来实现
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-13 09:49:27 | 显示全部楼层
2楼的老兄,能否详细点?或者给个参考?感激!
回复 支持 反对

使用道具 举报

发表于 2009-5-13 09:55:15 | 显示全部楼层
你是在打开窗体的过程中进行数据统计了吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-13 10:15:19 | 显示全部楼层
是啊 。。。我有一个统计的功能,但是它统计的时候很慢,在打开统计功能的时候系统好像没上面反映了,其实它是在进行统计了,所以需要在它统计的时候提示用户:数据正在统计中....请等待.......

也就是说需要让用户知道是在统计中,当统计功能完全打开以后,自动的关闭刚才的提示信息。
回复 支持 反对

使用道具 举报

发表于 2009-5-13 10:51:59 | 显示全部楼层
ProgressBar1.visible := True
ProgressBar1.Position := 1;
for i:=1 to dataset.RecordCount do
begin
   ProgressBar1.Position := i;
end;
ProgressBar1.Visible := False;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-13 12:00:31 | 显示全部楼层
刚才使用了下这个控件,我不知道怎么去结合我的那个统计的功能来使用,我统计的功能我并不知道它需要多久才能完全打开,能不能说的详细点啊。。谢谢了,来个例子最好了。
回复 支持 反对

使用道具 举报

发表于 2009-5-13 12:02:14 | 显示全部楼层
那你把你写的那段统计代码发过来看看吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-13 14:46:04 | 显示全部楼层
回复楼上的,我的统计功能的代码很多的,都是写在ONSHOW事件那里,所以统计起来有点久,代码就2000多行了,都是已些SQL统计本系统中的一些表的数据进行+、— 所得到的数据。如下图,报表功能 就是。

一点击就有假死的状态,所以用户都不知道是不是卡死了。

如果代码少点话功能一点击就出来了,但是因为代码是2000多行,所以需要点时间,这段时间中我希望弹出个提示进行说明。

图中的功能是一个很普通的业务功能来的。

66.jpg

5.7 KB, 下载次数: 188

回复 支持 反对

使用道具 举报

发表于 2009-5-13 15:29:22 | 显示全部楼层
创建一个进度条窗体,在onshow的时候显示,进度条的position你可以每执行一条Sql语句就改变一次
procedure TMainForm.BizFormShow(Sender: TObject);
var
  lForm : TCT1;  //进度条窗体
  i : Integer;
begin
  lForm := TCT1.Create(context);
  try
    lForm.Show;
    Business.Forms.Forms.Application.ProcessMessages;

    lForm.ProgressBar1.Visible := True;
    lForm.ProgressBar1.Position := 1;
    lForm.ProgressBar1.Max := 10000 ;

    for i := 0 to 10000 do
    begin

      lForm.ProgressBar1.Position := i;

    end;
  finally
    lForm.ProgressBar1.Visible := False;
    lForm.Close;
  //  lForm.Free;
  end;
end;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-21 05:47 , Processed in 0.043565 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表