Hallo zusammen
Mich interessiert, wie man am schnellsten (binäre) Dateien laden kann. Ich dachte mir, am besten gehts wohl, wenn man immer so ein Kilo auf einmal lädt. So etwa stelle ich mir das vor:
Delphi-Quellcode:
const
BLOCK_SIZE = 1024;
function LoadFile(
const FileName:
string;
out Data: PChar): Int64;
var
Handle: Integer;
Size: Int64;
BytesRead: Integer;
P: PChar;
begin
Data:=
nil;
Result:= -1;
Handle:= FileOpen(FileName, fmOpenRead
or fmShareDenyWrite);
if Handle <> -1
then
try
Size:= GetFileSize(FileName);
GetMem(Data, Size);
try
P:= Data;
repeat
BytesRead:= FileRead(
Handle, P^, BLOCK_SIZE);
Inc(P, BytesRead);
until BytesRead = 0;
Result:= Size;
except
FreeMem(Data, Size);
Data:=
nil;
end;
finally
FileClose(
Handle);
end;
end;
Was meint ihr dazu?
Gruss
Shaman