Der Positionszeiger ist der von der
WinAPI.
Also über SetFilePointer/GetFilePointer.
der Typ TEXT/TextFile hat intern einen Puffer, worein er erstmal einließt und daraus die Daten erst in den "String" schreibt (und beim schreiben natürlich andersrum).
Dieses ist ja nötig, weil irgrends gespeichert ist wie lang der String ist, also
Delphi-Quellcode:
1:
einlesen in Puffer
nachsehn wo das Datei-/Zeilenende ist
Daten bis Endmarke, oder Pufferende in String kopieren
wenn keine Endmarke gefunden, dann gehe zu 1
Beim Einlesen ist demnach bei allen DateiTypen mit Puffer der Zeiger weiter hinten, da mehr eingelesen wurde.
Beim Schreiben wird erst gespeichert, wenn Puffer voll ist, demnach ist dort der Zeiger meist etwas weiter vorne anzufinden.