
14/01/2008, 20:54
|
 | | | Fecha de Ingreso: noviembre-2002 Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 22 años, 3 meses Puntos: 52 | |
Re: Barra de Progreso de lectura de fichero Hace tiempo que no posteaba pero creo que este problema puede tener un tipo de solucion sencilla.
Primero, si vas a usar una barra de esas es porque el fichero va a tardar mas de 3 segundos en leerse. Eso quiere decir por lo menos mas de 2MB de datos en el archivo en una maquina lenta promedio.
ahora si, lo ideal es obviamente obtener el tamaño total del archivo con un par de llamadas de fseek y ftell.
Con eso, solo hay que ir leyendo el archivo en bloques de potencias de 2.
Por ejemplo, leer dentro de una for bloques de 512 bytes.
Y pues solo hacer un poco de matematicas basicas.
Si 1000Mb ="muchos bytes"
entonces
"muchos bytes" es a 100%
como "numero de bloques"*512 es a X.
Entonces X te dara el porcentaje.
No es nada complicado.
Saludos |