Tres métodos para implementar la copia de archivos en Delphi
1. Llamar a la función API
Procedimiento CopyFile(FromFileName,ToFileName:string);
var
f1,f2:archivo;
Comenzar
AssignFile(f1,FromFileName); file://especifica el nombre del archivo fuente;
AssignFile(f2,ToFileName); file://especifica el nombre del archivo de destino;
Restablecer (f1);
Intentar
Reescribir (f2);
Intentar
Si Lzcopy(TfileRec(f1).handle,TfileRec(f2).Handle)<0
Entonces
Levante EinoutError.creat('Error de copia de archivo')
Finalmente
CerrarArchivo(f2); archivo://Cerrar f2
Fin;
Finalmente
Hasta longitud(sLine)<=0;
Fin;
Fin;
2.Secuencia de archivos
copia del procedimiento;
var f1,f2: tfilestream;
comenzar
f1:=Tfilestream.Create(nombre de archivo fuente,fmopenread);
intentar
f2:=Tfilestream.Create(nombre de archivo de destino,fmopenwrite o fmcreate);
intentar
f2.CopyFrom(f1,f1.tamaño);
finalmente
f2.Libre;
fin;
finalmente
f1.Gratis;
fin;
fin;
3. Implementación usando bloques de memoria para leer y escribir buffers.
Procudure FileCopy(const Fromfile,Tofile:string);
var
F1,F2:archivo;
NumRead,Numwriting:Palabra;
Buf: matriz [1..2048] de char;
Comenzar
AsignarArchivo(F1,Desdearchivo);
Restablecer (F1,1);
AsignarArchivo(F2,Aarchivo);
Reescribir (F2,1);
Repetir
BlockRead(F1,buf,tamañode(buf),NumRead);
BlockWrite(F2,buf,Numread,NumWritten);
Hasta (NumRead=0) o (NumWritten<>NumRead);
CerrarArchivo(F1);
CerrarArchivo(F2);
Fin;