Trois méthodes pour implémenter la copie de fichiers dans Delphi
1. Appeler la fonction API
PROcédure CopyFile(FromFileName,ToFileName:string);
var
f1,f2:fichier;
Commencer
AssignFile(f1,FromFileName); file://spécifie le nom du fichier source
AssignFile(f2,ToFileName); file://spécifie le nom du fichier cible
Réinitialiser (f1);
Essayer
Réécrire(f2);
Essayer
Si Lzcopy(TfileRec(f1).handle,TfileRec(f2).Handle)<0
Alors
Raise EinoutError.creat('Erreur de copie de fichier')
Enfin
FermerFichier(f2); fichier://Fermer f2
Fin;
Enfin
Jusqu'à longueur(sLine)<=0 ;
Fin;
Fin;
2. Flux de fichiers
copie du fichier de procédure ;
var f1,f2 : tfilestream ;
commencer
f1:=Tfilestream.Create(nom du fichier source,fmopenread);
essayer
f2:=Tfilestream.Create(targetfilename,fmopenwrite ou fmcreate);
essayer
f2.CopyFrom(f1,f1.size);
enfin
f2.Gratuit ;
fin;
enfin
f1.Gratuit ;
fin;
fin;
3. Implémentation utilisant des blocs mémoire pour lire et écrire des tampons
Procédure FileCopy(const Fromfile,Tofile:string);
Var
F1,F2:fichier ;
NumRead,Numwriting:Mot ;
Buf : tableau [1..2048] de caractères ;
Commencer
AssignFile(F1,Fromfile);
Réinitialiser (F1,1);
AssignFile(F2,Tofile);
Réécrire(F2,1);
Répéter
BlockRead(F1,buf,sizeof(buf),NumRead);
BlockWrite(F2,buf,Numread,NumWritten);
Jusqu'à (NumRead=0) ou (NumWritten<>NumRead) ;
FermerFichier(F1);
FermerFichier(F2);
Fin;