Das ist nicht sehr günstig ständig Position und Größe abzufragen und zu vergleiche. Besser wäre:
Delphi-Quellcode:
procedure TBL.Load(const AFileName: string);
var
Fs: TFileStream;
BytesRead: Integer;
Buffer: array[1..15] of Char;
begin
Fs := TFileStream.Create(AFileName, fmOpenRead + fmShareDenyNone);
try
repeat
BytesRead := Fs.Read(Buffer, Length(Buffer));
// Hier geht's dann weiter
until BytesRead < sizeof(Buffer);
finally
Fs.Free;
end;
end;