Du leerst Textoutput und greifst dann auf Zeile b zu?
Textoutput.Lines[b]
Und was machst du mit der Länge der ersten Zeile?
a:=length(textinput.Lines[0]);
Vielleicht einmal folgendes:
Die Anzahl der Zeilen bekommst du mit Textinput.Lines.Count, den kompletten Inhalt mit allen Zeilen bekommst du mit Textinput.Text. Auf die Zeile b greifst du mit Textinput.Lines[b] zu.