大家好!我刚学DELPHI 有个问题请教大家!
  有个查询需用很 长时间,我想用进度条来显示这个查询的进度,能告诉我怎样用进度条来控制吗?
 
 

解决方案 »

  1.   

    有这个看看效果var
      I: Integer;
    begin
      for I := 0 to 100 do
      begin
        sleep(100);
        ProgressBar1.Position := I;
      end;
    end;
      

  2.   


    procedure TForm1.FormCreate(Sender: TObject);
    begin
      ADOQuery1.ExecuteOptions := [eoAsyncFetch];//设为异步读取
    end;//ADOQuery的OnFetchProgress事件
    procedure TForm1.ADOQuery1FetchProgress(DataSet: TCustomADODataSet;
      Progress, MaxProgress: Integer; var EventStatus: TEventStatus);
    begin
      ProgressBar1.Position := Progress;
      ProgressBar1.Max := MaxProgress;
    end;//ADOQuery的OnFetchComplete事件
    procedure TForm1.ADOQuery1FetchComplete(DataSet: TCustomADODataSet;
      const Error: Error; var EventStatus: TEventStatus);
    begin
      ProgressBar1.Position := ProgressBar1.Max;
      ShowMessage('OK');
    end;
      

  3.   

    学习,再加上显示时间。
    查询之前:
    Var StartTime:Longint;StartTime:=GetTickCount;结束之后,使用(GetTickCount-StartTime) div 1000 得到使用时间。