Wop!
Pues no sé lo que quieres decir con "sin tener que recorrerlo". Si lo que quieres decir es que no quieres tener que programar el recorrido, lo puedes hacer con una StringList:
Código:
var
t: TStringList;
begin
t := TStringList.Create;
try
t.LoadFromFile('fichero.extension');
ShowMessage(IntToStr(t.Count));
finally
t.Free;
end;
end;
El problema de este código es que tienes que cargar todo el fichero en memoria. Si el fichero va a ser grande, tardará un poco. Además, para montar la StringList, imagino que también se recorre el fichero.
Si lo que quieres es calcular el número sin abrirlo, eso es más complicado. A mi no se me ocurre cómo poder hacerlo. Si lo decubres, ¡cuéntanoslo!