我写了一个c/s程序,其中客户端映射服务器上硬盘需要一定时间,我想用进度条把它表示出来,如何写程序?

解决方案 »

  1.   

    Procedure tform1.runprogress(total,stepq:integer);
    var
      progressbar1:tprogressbar;
      i:integer;
    Begin
      progressbar1:=tprogressbar.Create(self);
      try
        with progressbar1 do
          begin
            parent:=form1;
            align:=albottom;
            min:=0;
            max:=total;
            step:=stepq;
          end;
        for i:=0 to total do
          progressbar1.StepIt ;
       finally
         progressbar1.Free;
       end;
    end;   procedure TForm1.BitBtn1Click(Sender: TObject);
    begin
      runprogress('//你的代码,可以是映射的时间什么的//');
    end;
      

  2.   

    rouqing(柔情似水) 的方法是可以的,但如果用户要中止,他就会faint了,更本在中途停不下来,把这个进度条和读数据的过程放到一个线程中去。