我想用progressbar显示增加和删除数据的速度,请问如何得知增加和删除的运行时间以便用progressbar显示

解决方案 »

  1.   

    Progressbar1.Max:=操作前的数据量;
      Progressbar1.Position:=当前数据量;
      

  2.   

    拷贝文件时有进度显示
    procedure TForm1.mycopyfile(sourcef,targetf:string);
    var
      FromF, ToF: file;
      NumRead, NumWritten: Integer;
      Buf: array[1..2048] of Char;
      n:integer;
    begin
       AssignFile(FromF, sourcef);
       Reset(FromF, 1); { Record size = 1 }
       AssignFile(ToF,targetf); { Open output file }
       Rewrite(ToF, 1); { Record size = 1 }
       n:=0;
       repeat
            BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
            form1.label1.caption:=IntToStr(sizeof(buf)*n*100 div FileSize(FromF))+'100%';
            application.ProcessMessages;
            //显示进度
            BlockWrite(ToF, Buf, NumRead, NumWritten);
            inc(n);
        until (NumRead = 0) or (NumWritten <> NumRead);
        form1.Label1.Caption:='100%';
        CloseFile(FromF);
        CloseFile(ToF);
    end;
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      mycopyfile('e:\components\tv2k-w2k.zip','c:\a.zip');
    end;