Si vas a usar un archivo de texto leyéndolo secuencialmente, no podrás saber el número de líneas por adelantado. Si sólo lo quieres saber para usar un Gauge, te puedes basar en el tamaño del archivo y usar los bytes.
Código Delphi
[-]
var
f : file of Byte;
f1 : TextFile;
s : string;
begin
AssignFile(f, 'archivo.txt');
Reset(f);
gauge1.MaxValue := Filesize(f);
CloseFile(f);
AssignFile(f1, 'archivo.txt');
Reset(f1);
while not Eof(f) do
begin
Readln(f, s);
Gauge1.Position := Gauge1.Position + Length(s) + 2;
end;
CloseFile(f);
end;
Primero abrimos el archivo como si fuese binario, con valor 1 para el tamaño del registro. Así Filesize nos devuelve el tamaño en bytes (Se podría usar también findfirst, por ejemplo, para saber el tamaño del archivo).
Luego lo vamos leyendo y contando los bytes, el +2 es para contar también el salto de línea (podría ser +1 dependiendo de si usa sólo #13 para salto de línea en vez de #13#10).