![]() |
Saber cantidad de lineas que se van a leer de un fichero texto...
Hola a todos, mi problema es el siguiente:
Tengo que realizar un programita que lee los datos de un fichero texto, pero el caso es que quiero poner un Gauge para indicarle al usuario por dónde va el estado de la lectura del fichero y no sé como asignarle al Gauge la propiedad MaxValue puesto que no conozco la cantidad de líneas total que tiene el fichero texto. Se podrá hacer???, o sea, leer previamente la cantidad total de líneas que tiene el fichero texto y luego cuando las vaya leyendo ir incrementando el Gauge...??? Desde ya muchas gracias... |
Depende del tipo de fichero y de cómo lo estés leyendo.
¿Qué estructura tiene? ¿Lo lees mediante TStrings? |
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.
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). |
¡Estupenda idea basti! Me la apunto :)
// Saludos |
OK, funciona perfectamente...
Hola a todos nuevamente..., basti me ha dado la solución perfecta, todo funciona perfectamente... un millón de gracias nuevamente basti y a todos los que de una forma u otra hacen posible que este foro exista...
|
La franja horaria es GMT +2. Ahora son las 13:16:14. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi