Три метода реализации копирования файлов в Delphi
1. Вызов функции API
PROcedure CopyFile (FromFileName, ToFileName: строка);
вар
f1,f2:файл;
Начинать
AssignFile(f1,FromFileName); file:// указывает имя исходного файла
AssignFile(f2,ToFileName); file://указывает имя целевого файла
Сброс (f1);
Пытаться
Переписать (f2);
Пытаться
Если Lzcopy(TfileRec(f1).handle,TfileRec(f2).Handle)<0
Затем
Поднимите EinoutError.creat('Ошибка копирования файла')
Окончательно
ЗакрытьФайл(f2); файл://Закрыть f2);
Конец;
Окончательно
До тех пор, пока длина(sLine)<=0;
Конец;
Конец;
2.Файловый поток
файл копии процедуры;
вар f1, f2: tfilestream;
начинать
f1:=Tfilestream.Create(исходное имя_файла,fmopenread);
пытаться
f2:=Tfilestream.Create(имя целевого файла,fmopenwrite или fmcreate);
пытаться
f2.CopyFrom(f1,f1.size);
окончательно
f2.Бесплатно;
конец;
окончательно
f1.Бесплатно;
конец;
конец;
3. Реализация с использованием блоков памяти для чтения и записи буферов.
Procudure FileCopy(const Fromfile,Tofile:string);
Вар
F1, F2: файл;
ЧислоЧтение,Написание:Слово;
Buf: массив [1..2048] символов;
Начинать
НазначитьФайл(F1,Изфайла);
Сброс(F1,1);
НазначитьФайл(F2,Тофайл);
Переписать(F2,1);
Повторить
BlockRead(F1,buf,sizeof(buf),NumRead);
BlockWrite(F2,buf,Numread,NumWritten);
До (NumRead=0) или (NumWritten<>NumRead);
ЗакрытьФайл(F1);
ЗакрытьФайл(F2);
Конец;