如何设置ProgressBar显示文件拷贝的进度? 在程序中使用copyFileTo进行文件的拷贝,怎样设置ProgressBar显示其进度? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用FileSize()获得文件大小.Integer((已Copy的字节数/文件大小)*100); 能否说详细点?我没用过delphi,不知怎么设置progressBar,呵呵,别怪我菜 for i := 0 to n dobegin ProgressBar.position = i; Application.ProcessMessage;end; 使用BlockWrite的方法才可以要不是就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; c# 中的This 是不是Self差不多? 如何将16进制形式的字符串转换成BYTE数组???? 判断 点 在 矩形里面,算法怎么写?请教~~~~~~高分~~~~~(100) 我想把DBGRID中的数据写成WORD文档,按表格形式显示,但是不知道怎样把图像字段写入WORD文档,请各位老师不吝指点! 不同类型数据库之间导数据,类型转换怎么处理? 如何用Delphi开发PhotoShop的滤镜 如何取得小数的整数位 关于ACCESS转EXCEL 求助 如何绘制鼠标指针? 我的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;