islu,
Revisa este link :
http://delphi.cjcsoft.net/viewthread.php?tid=46036
En el aparecen los siguientes 5 métodos para copiar un archivo:
Código Delphi
[-]
Procedure FileCopy( Const sourcefilename, targetfilename: String );
Var
S, T: TFileStream;
Begin
S := TFileStream.Create( sourcefilename, fmOpenRead );
try
T := TFileStream.Create( targetfilename, fmOpenWrite or fmCreate );
try
T.CopyFrom(S, S.Size ) ;
finally
T.Free;
end;
finally
S.Free;
end;
End;
Código Delphi
[-]
procedure FileCopy(const FromFile, ToFile: string);
var
FromF, ToF: file;
NumRead, NumWritten: Word;
Buf: array[1..2048] of Char;
begin
AssignFile(FromF, FromFile);
Reset(FromF, 1);
AssignFile(ToF, ToFile);
Rewrite(ToF, 1);
repeat
BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
BlockWrite(ToF, Buf, NumRead, NumWritten);
until (NumRead = 0) or (NumWritten < NumRead);
System.CloseFile(FromF);
System.CloseFile(ToF);
end;
Código Delphi
[-]
procedure CopyFile(FromFileName, ToFileName: string);
var
FromFile, ToFile: File;
begin
AssignFile(FromFile, FromFileName);
AssignFile(ToFile, ToFileName);
Reset(FromFile);
try
Rewrite(ToFile);
try
if LZCopy(TFileRec(FromFile).Handle, TFileRec(ToFile).Handle) raise Exception.Create('Error using LZCopy')
finally
CloseFile(ToFile);
end;
finally
CloseFile(FromFile);
end;
end;
Código Delphi
[-]
procedure CopyFile(FromFileName, ToFileName: string);
var
shellinfo: TSHFileOpStructA;
Files:String;
begin
Files:=FromFileName+#0+#0;
with shellinfo do
begin
Wnd:=Self.handle;
wFunc:=FO_COPY;
pFrom:=PChar(Files);
pTo:=PChar(ToFileName);
fFlags:=FOF_NOCONFIRMATION or FOF_SILENT;
end;
SHFileOperation(shellinfo);
end;
Código Delphi
[-]
copyfile(PChar(FromFileName),PChar(ToFileName),False);
Espero sea útil
Nelson.