用这个不可以吗?<br>procedure TForm1.FileCopy(const FromFile, ToFile: string);<br>var<br> fsize:Longint;<br> FromF, ToF: file;<br> NumRead, NumWritten: integer;<br> Buf: array[1..2048] of Char;<br>begin<br> AssignFile(FromF, FromFile);<br> Reset(FromF, 1);<br> fsize := filesize(fromf);<br> ProgressBar1.Max:=fsize;<br> AssignFile(ToF, ToFile);<br> Rewrite(ToF, 1);<br> repeat<br> BlockRead(FromF, Buf, SizeOf(Buf), NumRead);<br> ProgressBar1.Position:=ProgressBar1.Position+sizeof(buf);<br> application.ProcessMessages;<br> BlockWrite(ToF, Buf, NumRead, NumWritten);<br> until (NumRead = 0) or (NumWritten <> NumRead);<br> System.CloseFile(FromF);<br> System.CloseFile(ToF);<br> ShowMessage('OK');<br>end;<br>