close Warning: Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 13 years ago

Closed 13 years ago

#1515 closed defect (fixed)

Solicitud de parámetro nuevo en la función ReadFile()

Reported by: Javier Gallardo Owned by: Víctor de Buen Remiro
Priority: lowest Milestone: Mantainance
Component: Various Version: 3.1
Severity: trivial Keywords:
Cc:

Description

Hola.

He visto que sería conveniente un nuevo parámetro (opcional) que diga cuántas líneas (quizá caracteres) queremos del fichero en cuestión.

Muchas veces sólo nos interesa saber la primera línea, para ver por ejemplo si sus delimitadores son punto y coma, ó cuántos campos tiene y realmente no queremos todo el fichero (cuando pasa esto es porque son ficheros muy pesados).

Muchas gracias.

Change History (1)

comment:1 Changed 13 years ago by Víctor de Buen Remiro

Resolution: fixed
Status: newclosed

Para eso ya existen las funciones FOpen, FGetText, FClose. Por ejemplo, este código lee hasta un máximo de 1024 caracteres hasta que se encuentra un salto de línea;

Real f = FOpen(fPath,"r");
Text txt = FGetText(f,1024,"\n");
Real FClose(f);

Con estas funciones puede hacerse lectura secuencial con el nivel de detalle que se quiera. Por ejemplo, este código muestra cada una de las líneas de un fichero precedidas del número de línea:

Real f = FOpen(fPath,"r");
Real numLin = 0;
While(!FEof(f),
{
  Text line = FGetText(f,1E9,"\n");
  WriteLn("["<<numLin+"] '"+line+"'");
  Real numLin := numLin+1
});
Real FClose(f);
Note: See TracTickets for help on using tickets.