Wir reden hier über untypisierte Dateien. Du gibst beim Reset als zweiten Parameter noch eine BlockSize an - die Anzahl Bytes, die von BlockRead() als ein Block angesehen wird. Vielleicht wird es so klarer:
Delphi-Quellcode:
const
BlockSize = 1; // mit BlockSize = 1 kannst du beliebige Dateien verarbeiten
BlockCount = 1024; // Anzahl der Blöcke im Puffer
var
Buffer: array [1..BlockSize*BlockCount] of Byte;
iRead, iWritten: integer;
f: file;
begin
AssignFile(f, ParamStr(1));
Reset(f, BlockSize);
repeat
BlockRead(f, Buffer, BlockCount, iRead);
if iRead > 0 then begin
// ...
end;
until iRead < BlockCount;
CloseFile(f);
end;
Das gleiche gilt für die Ausgabe mit Rewrite() und BlockWrite().
marabu