Hallo,
ich nutze folgende Funktion, um Dateien zu kopieren (verkürzte Variante):
Delphi-Quellcode:
function FastFileCopyEx(const InFileName, OutFileName: string): Boolean;
const
BufSize = 3 * 4 * 4096;
type
PBuffer = ^TBuffer;
TBuffer = array [1 .. BufSize] of Byte;
var
Size: DWord;
Buffer: PBuffer;
infile, outfile: file;
begin
if FileExists(InFileName) then
begin
if (InFileName <> OutFileName) then
begin
Buffer := nil;
Assign(infile, InFileName);
Reset(infile, 1);
try
Assign(outfile, OutFileName);
Rewrite(outfile, 1);
try
New(Buffer);
repeat
BlockRead(infile, Buffer^, BufSize, Size);
BlockWrite(outfile, Buffer^, Size);
{* ... *}
until Size < BufSize;
finally
if Buffer <> nil then
Dispose(Buffer);
CloseFile(outfile);
end;
finally
CloseFile(infile);
end;
end;
end;
{* ... *}
end;
Ist es möglich das Kopieren von Dateien mit einer Änderung der Buffer-Größe zu optimieren?
Warum genau da 3*4*4096 steht, weiß ich nicht mehr, da der Code uralt ist.