数据库处理数据时,有很长时间的等待,请问怎样才能把进度条与数据处理绑定在一起???先谢谢各位大侠了!!!

解决方案 »

  1.   

    try
      Cnt := dstMain.RecordCount;
      pbMain.Max := Cnt;
      pbMain.Position := 0;
      for i := 0 to Cnt-1 do
      begin
        ...
        dstMain.Next;
        pbMain.Position := pbMain.Position +1;
        Application.ProcessMessage;
      end;  // lets the user to see the full processbar blue
      Sleep(100);
    finally
      pbMain.Position := 0;
    end;
      

  2.   

    谁说 swayi21(微斯人)的不对?只是复杂了一点! 我的较简单 
    begin
      probar1.Max:=adoquery2.RecordCount;
      probar1.Position:=0;
      while not adoquery2.eof do
      begin
        ............
        probar1.Position:=probar1.Position+1;
        adoquery2.next;  
      end;
    end;