PDA

Ver la Versión Completa : Lineas en TXT


joanajj
05-11-2004, 18:34:06
Buenas tardes a todos. Os pongo una duda:

Suponed que tengo un fichero de texto con un contenido así:

89038745985893759843758934
53453485764378567438657846
54638576438756873456346575
45943759843759834759834755
87596854768945768946546985

como veis son 5 lineas. Hay alguna función, que me devuelva el número de lineas que hay en un txt.

Saludos...

roman
05-11-2004, 18:37:07
Hay alguna función, que me devuelva el número de lineas que hay en un txt.

Pues no porque no es una información contenida en el archivo en sí y de una u otra forma tienes que contar cuántos retornos de carro (#13#10) hay.

Una forma podría ser cargando el archivo en un StringList y examinar StringList.Count.

// Saludos

roman
05-11-2004, 18:38:56
¡Ah! Claro que si las líneas del archivo son todas de la misma longitud podrías optar por dividir el tamaño del archivo en bytes por la longitud de cada línea. El resultado debe ser el número de líneas.

// Saludos

joanajj
05-11-2004, 19:56:13
Probaré, aunque tendré que buscar una función que me devuelva el tamaño en bytes de un archivo...


Saludos...

roman
05-11-2004, 20:16:38
¿Qué tal algo así?


(*
Devuelve el número de líneas de un archivo de texto
Las líneas del archivo deben tener todas la misma
longitud (indicada por LineLen)
*)
function LineCount(FileName: String; LineLen: Integer): Integer;
var
F: File of Byte;

begin
AssignFile(F, FileName);
Reset(F);
try
Result := FileSize(F) div LineLen;
finally
CloseFile(F);
end;
end;


// Saludos

joanajj
05-11-2004, 21:09:06
Gracias, creo que con esto lo soluciono.


Un saludo...