Hola Rogelio.
Antes de continuar te hago una sugerencia; Si te es posible adoptarla dímelo, porque en ese caso las respuestas/soluciones son diferentes a las que puedes obtener tal y como o estás haciendo ahora.
La sugerencia es que utilices un TStrings para cargar el fichero, el lugar de hacerlo con las funciones que comentas. Es mucho más simple y salvo que el fichero fuera "muy, muy grande" no creo que existan diferencias de velocidad aceptables.
Puedes cargar un fichero de texto utilizando un código similar a este:
Código Delphi
[-]var
TS:TStrings;
begin
TS := TStringList.Create();
try
TS.LoadFromFile('c:\temp\datos.txt');
...
...
finally
TS.Free;
end;
end;
De estar forma el recorrido paracapturar las líneas es mucho más sencillo:
Código Delphi
[-]
Str := TS[0] --> Obtendrías la primera línea
for i:=0 to (TS.Count - 1) do begin
Str := TS[i]
...
end;