Denn was du machst ist die Datei Zeile für Zeile auslesen und nicht Zeichen für Zeichen.
Etwas genauer erklärt: Eine TStringList liest den Text aus einer Datei zeilenweise ein. Wenn du auf das x-te Element zugreifst, dann nimmst du die x-te Zeile. Wenn du also eine Datei mit mehreren Zeilen hast brauchst du auch zwei for-Schleifen: Eine für jede Zeile und eine für das jeweilige Zeichen darin.
dann gewöhn dir diesen unsäglichen C-Stil ab und schieb das begin in die nächste Zeile.
dafuq 🤪