Erstmal kann AssignFile+ReadLn nur mit
ANSI-Dateien umgehen (auch unter Delphi 2009+).
Standardmäßig hat diese wirklich alte Pascal-Funktion auch für Textdateien einen sehr schlecht eingestellten eigenen Puffer (gut, daß kann man etwas ändern)
Und dann sind diese Funktionen auch nicht gerade
OOP-Konform.
TStringList, TStringStream und Co. haben das "Problem, daß sie die komplette Datei in den Arbeitsspeicher laden, also schlecht für große Dateien.