请教一个菜问题:如何最简单实现‘正在查询,请稍后.....’,然后自动消失?(无内容)(20分)

  • 主题发起人 主题发起人 ddynet
  • 开始时间 开始时间
D

ddynet

Unregistered / Unconfirmed
GUEST, unregistred user!
请教一个菜问题:如何最简单实现‘正在查询,请稍后.....’,然后自动消失?(无内容)
 
开一个线程做后台查询,线程结算后响应onterminate事件就可以了..[:)]
 
楼上说得没错。
 
abc里有个控件可以做到的
 
请问 forss : 具体应该怎么样做
 
form2 := TForm2.Create(Self);
form2.show;
sleep(2000);//这儿写查询代码
form2.Close;
form2.Release
 
在form上用个timer也可以呵
把其interval设为:3000
在timer()里:
timer.enabled:=false;
form.close;
 
在查询这前运行查询图行,查询完后FREE即可,
 
unit Progress;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls;
type
TFmProgress = class(TForm)
Animate1: TAnimate;
Label1: TLabel;
Label2: TLabel;
ProgressBar1: TProgressBar;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
procedure SetNowPos(strtheWhatDo:AnsiString);
procedure InitProgress(itheMax:integer;strtheCaption:AnsiString );
{ Public declarations }
end;

var
FmProgress: TFmProgress;
implementation
{$R *.DFM}
procedure TFmProgress.SetNowPos(strtheWhatDo:AnsiString);
begin
ProgressBar1.Position:=ProgressBar1.Position+1;
Label1.Caption:=strtheWhatDo;
Application.ProcessMessages;
end;

procedure TFmProgress.InitProgress(itheMax:integer;strtheCaption:AnsiString );
begin
self.Caption:=strtheCaption;
ProgressBar1.Max:=itheMax;
ProgressBar1.Min:=0;
ProgressBar1.Position:=0;
end;
procedure TFmProgress.FormCreate(Sender: TObject);
begin
Animate1.FileName:=extractfilepath('Findfile.avi')+'Findfile.avi';
Animate1.Active:=true;
end;

end.
 
简单方法1:
1.在Form上放一个Panel,上书"正在查询,请等待..."等N个大字...,Panel.Visible := False;
2.开始查询,Panel.Visible := True;
3.查询完毕,Panel.Visible := False;
 
Label.Caption := '正在查询,请你稍候!';
// 其中 Label 的 Visible 属性为 False;
Label.Visible := True;
Label.Refresh;
with Querydo
begin
Active := False;
SQL.Clear;
SQL.Text := 'SELECT * FROM TableName';
Active := True;
end;
Label.Visible := False;
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部