delphi CopyFileProgressBar 拷贝文件显示进度条


本文整理自网络,侵删。

 

CopyFileProgressBar(pwidechar(ListBox1.Items.Strings[I]),pwidechar(NewDir+'\'+ExtractFileName(ListBox1.Items.Strings[I])));

 

procedure CopyFileProgressBar(getPath,setPath:string);

var

  getStream,setStream: TFileStream;

  num, n: Integer;

  buf: PByte;

  BufSize,block: Integer;

begin

  if not FileExists(getPath) then

  begin

   // ShowMessage('源文件不存在');

   // Exit;

  end;

  getStream := TFileStream.Create(getPath, fmOpenRead or fmShareExclusive);

  setStream := TFileStream.Create(setPath, fmCreate);

  num := getStream.Size;

  setStream.Size := num;

  getStream.Position := 0;

  setStream.Position := 0;

  BufSize := num;

  block := BufSize div 100;

  GetMem(buf, BufSize);

  form1.ProgressBar1.Max := 100;

  form1.ProgressBar1.Min := 0;

  form1.ProgressBar1.Position := 0;

  while num <> 0 do

  begin

    Application.ProcessMessages;

    n := block;

    if n > num then n := num;

    getStream.ReadBuffer(buf^, n);

    setStream.WriteBuffer(buf^, n);

    form1.ProgressBar1.Position := Trunc((1 - num / BufSize) * 100);

    Dec(num, n);

  end;

  FreeMem(buf, BufSize);

  getStream.Free;

  setStream.Free;

  //ShowMessage('复制完毕');

  form1.ProgressBar1.Position := 0;

end;

相关阅读 >>

Delphi使用tclientdataset�r不携带midas.dll的方法

Delphi idhttp访问datasnap有密码验证的中间件

Delphi xe6通过wifiapi得到wifi信息

Delphi mainmenu控件 checkde属性用法

Delphi 如何让 tgpimage 直接从流中加载图片?

Delphi:窗体的扩展样式gwl_exstyle用于setwindowlong

Delphi tms web core twebhttprequest使用

Delphi tdatetime 日期时间值的比较

Delphi 判断是否出现滚动条

Delphi 动态修改exe文件的图标

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...