Wieso ist "Zeile" nicht lokal deklatiert?
Und ja, Text-Reads gehen immer über einen Puffer.
* dort wird der Inhalt
stückchenweise reinkopiert
* da drin wird dann nach dem nächsten Zeilenumbruch gesucht (bzw nach dem Ende der für die Leseoperation ... z.B. das Ende der Zahl für
Read(Datei, MyInteger)
)
* und dann wird dort das zu Lesende rauskopiert, nachdem man weiß, bis wohin gelesen werden muß
PS: Auch das Writeln geht erstmal in diesen Cache.
Delphi-Quellcode:
PTextBuf = ^TTextBuf;
TTextBuf =
array[0..127]
of AnsiChar;
TTextRec =
packed record
Handle: THandle;
Mode: Word;
...
Name:
array[0..259]
of WideChar;
Buffer: TTextBuf;
// der Standardpuffer direkt in der "TEXT"-Variable
end;