数据库在处理时,如何才能出现如“正在处理,请等待”的提示框(5分)

  • 主题发起人 主题发起人 coolcat3000
  • 开始时间 开始时间
C

coolcat3000

Unregistered / Unconfirmed
GUEST, unregistred user!
数据库在处理时,如何才能出现如“正在处理,请等待”的提示框
 
在正式进行处理前showmessage(‘正在处理,请等待’),
然后进行处理,如果工作比较繁重来不及刷新,就是你想要的结果。

还可以用多线程,前台显示提示信息,后台进行数据处理
 
那怎么自动关掉那个showmesage呢
 
处理前创建一个form,或者一个progressbar,后台处理时可由进程条跟踪,同时显示正忙的提示,
处理完之后,释放此form
 
不能showmessage,会让你等待按ok。自己写个form吧!
 
用多线程
这是最好的处理
 
有什么具体的代码吗?
 
你查以前的帖子,肯定能找到答案

定义两个过程
HideNoWaitDlg;
ShowNoWaitDlg ;
执行前调用第一个过程,显示等待画面,执行后调用第二个过程,清除画面
procedure Tcgtj0.ShowNoWaitDlg ;
begin
if not Assigned(MyNoWaitWnd) then
MyNoWaitWnd := THintWindow.Create(self);
MyNoWaitWnd.Brush.Color :=clLtGray;
MyNoWaitWnd.Canvas.Font.Color:=clGreen;
MyNoWaitWnd.Canvas.Font.Size:=12;
MyNoWaitWnd.Canvas.Font.Name:='宋体';
MyNoWaitWnd.ActivateHint(Rect(300, 350, 700, 400),'Now Wait...');
MyNoWaitWnd.Canvas.TextOut(60,20,'正在统计,请稍等。。。');
end;

procedure Tcgtj0.HideNoWaitDlg ;
begin
MyNoWaitWnd.ReleaseHandle;
end;
 
开始做的时候现实等待窗体
结束的时候释放就可以了

简单点就这么处理
 
同意whitehorse!!!
 
那怎么知道那个处理有没有完成呢
 
自己不动手光动嘴!
begin
HideNoWaitDlg;
[:D]这里加入你的过程![:D]
ShowNoWaitDlg ;
end;
 
后退
顶部