Ответ : 1
Среда : Lazarus, FreePascal
Операционная система : любая
Зависимости : -
Источник : http://freepascal.ru/forum/viewtopic.php?f=5&t=613
Теги : копирование, файлы
* медленный способ
- Код: Выделить всё
var
src,dst:file of byte;
b:byte;
begin
AssignFile(src,'srcfile'); // источник
AssignFile(dst,'dstfile'); // приемник
reset(src);
rewrite(dst);
while not(eof(src)) do
begin
read(src,b);
write(dst,b);
end;
CloseFile(src);
CloseFile(dst);
end;
Это самый медленный способ. Копировать надо не по-байтно, а использовать буфер, можно даже сначала весь файл в память считать, а потом записать.
Ответ : 2
Среда : Lazarus, FreePascal
Операционная система : любая
Зависимости : -
Источник : http://freepascal.ru/forum/viewtopic.php?f=5&t=613
Теги : копирование, файлы
- Код: Выделить всё
var Source, Dest: TStream;
begin
Source:=TFileStream.Create...
Dest:=TFileStream.Create...
Dest.CopyFrom(Source, Source.Size);
...
end;
// если маленький файл:
var F: TMemoryStream;
begin
F:=TMemoryStream.Create;
F.LoadFromFile(SourceFileName);
F.SaveToFile(DestFileName);
end;