在程序中使用copyFileTo进行文件的拷贝,怎样设置ProgressBar显示其进度?
解决方案 »
- delphi生成exe文件的问题求教
- chart组件问题,我如何将数据显示在chart上?
- delphi3下的自定义控件可否在DELPHI5或6或7上使用?
- 大家现在做的系统,是不是都用到流程引擎?
- 请教一个SQL语句的写法
- 为什么用我的代码不能画出预期的曲线图,Tchart控件
- 急问,在线等!Delphi的TCP 通讯问题
- 为什么我用鼠标滚轮不能把dbgrid中的记录查看啊?到了当前屏幕的最后一行就不能下来了,为什么
- 想学delphi7的Indy9组件的使用和运用
- 我是小虾,想问个很简单的问题...
- 我的delphi在任务栏中的图标不见了,是怎么回事?几天了都这样
- 如何确定一个.exe文件是否执行?
Integer((已Copy的字节数/文件大小)*100);
begin
ProgressBar.position = i;
Application.ProcessMessage;
end;
要不是就ShellAPI的SHFileOperation文件操作,通过Windows的也可以的
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;