procedure mycopyfile(sourcef,targetf:string;i:integer);
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.ProgressBar1.Position:=sizeof(buf)*n*100 div FileSize(FromF)*i div 4;
application.ProcessMessages;
//显示进度
BlockWrite(ToF, Buf, NumRead, NumWritten);
inc(n);
until (NumRead = 0) or (NumWritten <> NumRead);
form1.ProgressBar1.Position:=100;
CloseFile(FromF);
CloseFile(ToF);
end;
====================================================================================
以下例子是关于delphi复制文件,加上进度条的方法的例子的关键代码:
procedure TForm1.Button1Click(Sender: TObject);
const
getPath = 'c:/temp/get.rar';
setPath = 'c:/temp/set.rar';
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);
ProgressBar1.Max := 100;
ProgressBar1.Min := 0;
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);
ProgressBar1.Position := Trunc((1 - num / BufSize) * 100);
Dec(num, n);
end;
FreeMem(buf, BufSize);
getStream.Free;
setStream.Free;
ShowMessage('复制完毕');
ProgressBar1.Position := 0;
end;
end.
分享到:
相关推荐
在复制文件时显示进度条,用线程实现的。 用多线程实现
实现文件的复制 及 进度条的显示 progressdialog
使用Qt 实现复制文件 根据复制文件的大小 进度条显示复制进度。代码可以直接复用。
WPF复制文件并显示进度条,带文档说明,很不错哦
C#实现异步复制文件,并且显示进度条,代码简单易懂,效果不错!(注明:VS2010)
等待复试时一个漫长的过程,如果能在复制文件的过程加上进度,用户可以随时看到情况。
等待复制文件显示一个进度条,主要是用vc基于MFC实现的,提供完整的源代码可以直接运行。
C 复制文件显示百分比进度条,不过本程序的外观样式有点个性哦,进度条是基于小图片实现的,使用的是GIF动画图片,和Windows中的复制文件窗口大致相同。 本程序的进度条和复制文件模块已封装在一个MFC库中,便于...
复制文件夹带进度条
根据文件大小显示文件复制进度条,源代码
文件复制VC++源代码,显示进度条.filecopy
根据文件大小显示复制进度条,适用于C#初学者,
Winform中根据文件大小显示文件复制进度条.示例代码
VC 复制文件的小程序,,方便大家学习进度条
C# winform基于 BackgroundWorker实现异步复制文件显示进度条百分比 同时源代码里面还提供了同步复制文件的代码,欢迎加QQ交流2522389877或访问我们的网站 http://www.4u2v.com;
根据文件大小显示文件复制进度条
Qt 负责文件的读写 qml负责显示进度,文件读写在子线程中进行。代码可以直接运行。
弹出模式窗口显示进度条 文件复制进度条 c#进度条 文件进度条 弹窗进度条
文件拷贝的同时,进度条同步显示拷贝进度。只需要修改源文件地址与目标文件地址即可
文件复制中显示进度条vc++源代码,可以下载直接用