Приведенный код не понятно для чего, а подсчитать строки можно так (если их не много)
var LinesCount: Integer;
var List: TStringList;
try
List.LoadFromFile('filename.txt');
LinesCount := List.Count;
finally
List.Free;
end;
writeln(LinesCount);
или так
writeln(Length(TFile.ReadAllLines('filename.txt')))
или так (можно для большого файла, если длина одной строки не огромная)
var LinesCount := 0;
with TFile.OpenText('filename.text') do
try
while not EndOfStream do begin ReadLine; Inc(LinesCount); end;
finally
Free;
end;
Writeln(LinesCount);