Thema: Delphi Optimiert Dateien laden

Einzelnen Beitrag anzeigen

Benutzerbild von Shaman
Shaman

Registriert seit: 2. Nov 2003
Ort: Schweiz
407 Beiträge
 
Turbo Delphi für Win32
 
#1

Optimiert Dateien laden

  Alt 16. Dez 2004, 17:25
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
Daniel Pauli
Looking for answers from the great beyond
  Mit Zitat antworten Zitat