Comunidad de diseño web y desarrollo en internet online

Cargador con display de tiempo 00h 00m 00s

Citar            
MensajeEscrito el 13 Ene 2011 03:19 pm
Hola, estoy haciendo una aplicacion en as2 para subir y bajar archivos (con maximo de 100MB) y me guistaría mostrar el tiempo que resta de la descarga o subida. (estoy trabajando con FileReference).

El codigo que tengo para sacar el tiempo es de un tuto que encontre por no se donde pero no me funciona, pone cualquier tiempo y no lo puedo arreglar, no hay caso.

Código ActionScript :

time = getTimer()/1000;
   bps = Math.round(bLoaded/time);
   bytes_left = bLoaded-bTotal;
   seg_left = Math.ceil(bytes_left/bps);
   min_left = Math.floor(seg_left/60);
   hrs_left = Math.floor(min_left/60);
   min_left -= (hrs_left*60);
   seg_left -= ((hrs_left*60)+min_left)*60;
   (length(min_left) == 1) ? (min_left="0"+min_left) : 0;
   (length(seg_left) == 1) ? (seg_left="0"+seg_left) : 0;
   tiempo_txt.text = "Tiempo restante: "+hrs_left+"h / "+min_left+"m / "+seg_left+"s";


Otro dato es que la "hora" siempre la marca como negativa (-) por ej: -1h / 10m / 10s

Espero alquien me pueda ayudar.
Gracias

Por 0kool

86 de clabLevel



 

Rosario ARGENTINA

firefox
Citar            
MensajeEscrito el 13 Ene 2011 06:57 pm
bLoaded y bTotal sobre el que basas todos los cálculos no está definido, por lo menos no en la porción de código que pusiste

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 15 Ene 2011 01:57 am
Hola Solisarg! Gracias por responder, si estan definidas las variables pero en otra parte del código, en una de las funciones de FileReference:

Código ActionScript :

function doProgress(archivo:FileReference, bLoaded:Number, bTotal:Number) {
   var porcentaje = Math.round((bLoaded*100)/bTotal);    
                load_mc.label_txt.text = porcentaje+"% del archivo "+archivo.name;   
                load_mc.barra_mc._xscale = porcentaje;   
 }


Será por eso?

Por 0kool

86 de clabLevel



 

Rosario ARGENTINA

msie7
Citar            
MensajeEscrito el 19 Ene 2011 02:16 pm
Oops, se me había pasado este.
Según lo que muestras bLoaded y bTotal son variables locales definidas en doProgress, ¿estás seguro que tienen algún valor en tu rutina de tiempo?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 20 Ene 2011 12:19 am
Hola jorge, gracias por responder nuevamente, no entiendo bien si tu pregunta se refiera a que las variables tienen algún valor asignado a ellas (si les llegan los datos) o si están demás en el código.
Por lo pronto vi que si tienen un valor asignado a cada una y es el correcto.

Saludos

Por 0kool

86 de clabLevel



 

Rosario ARGENTINA

firefox
Citar            
MensajeEscrito el 03 Feb 2011 05:40 pm
LISTO! solucionado estaba mal esta parte del código

Código ActionScript :

bytes_left = bLoaded-bTotal;

es así, invertido:

Código ActionScript :

bytes_left = bTotal-bLoaded;

y además en esta otra parte del códico, cuando se muestran los valores

Código ActionScript :

load_mc.tiempo_txt.text = "Tiempo restante: "+hrs_left+"hrs : "+min_left+"min : "+seg_left+"seg";


a la variable: hrs_left hay que pasarla a valor negativo (-):

Código ActionScript :

load_mc.tiempo_txt.text = "Tiempo restante: "+(-hrs_left)+"hrs : "+min_left+"min : "+seg_left+"seg";


Así funciona ok!

Por 0kool

86 de clabLevel



 

Rosario ARGENTINA

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.