Todoexpertos.com
http://www.todoexpertos.com
La respuesta está en Internet
Información de la pregunta
Título: ProgressBar
Experto: juanky74
Valoración: 3
Fecha: 29/04/2004


ProgressBar
En mi aplicación utilizo una barra de progreso para indicar cuanto falta para que un algoritmo termine su ejecución, pero el proceso de llenado de la barra no se hace linealmente, es decir, primero está un tiempo vacío y cuando el algoritmo acaba la llena de golpe, en lugar de ir llenándolo a cada iteración del algoritmo, que es el siguiente: prgBarra.Min = 0: prgBarra.Max = 10 prgBarra.Value = prgBarra.Min: prgBarra.Visible = True For c3 = 0 To 9 c2 = 999 Do While c2 > 3 c1 = Int((999 * Rnd) + 1) c4 = Val(Right(CStr(Second (Time)), 1)) c4 = c4 + c1 If c4 > 0 And c4 < 3 Then c2 = c4: aD(c3) = c2 End If Loop prgBarra.Value=prgBarra.Value + 1 Next c3 Cada vez que encuentra un número entre 1 y 3 debería llenar la barra de proceso, pero lo hace cuando finaliza el algoritmo. ¿Alguien puede ayudarme?

Re: ProgressBar
Hola, Mira tu codigo si hace que avance la progress bar solo que como es tan pequeño tu intervalo lo se nota, si deseas que le puedes añadir un prgBarra.Refresh despues de que lo avanzas es decir asi: Pregunta de menosmola10 al Tablón Público ProgressBar En mi aplicación utilizo una barra de progreso para indicar cuanto falta para que un algoritmo termine su ejecución, pero el proceso de llenado de la barra no se hace linealmente, es decir, primero está un tiempo vacío y cuando el algoritmo acaba la llena de golpe, en lugar de ir llenándolo a cada iteración del algoritmo, que es el siguiente: prgBarra.Min = 0: prgBarra.Max = 10 prgBarra.Value = prgBarra.Min: prgBarra.Visible = True For c3 = 0 To 9 c2 = 999 Do While c2 > 3 c1 = Int((999 * Rnd) + 1) c4 = Val(Right(CStr(Second (Time)), 1)) c4 = c4 + c1 If c4 > 0 And c4 < 3 Then c2 = c4: aD(c3) = c2 End If Loop prgBarra.Value=prgBarra.Value + 1 prgBarra.Refresh Next c3 Otros de los problemas que podrias tener es que finalmente tu intervalo de barra es muy pequeño a ver trata de probarla con 100 por ejemplo alli si lo podras notar con mayor claridad. espero que esto te pueda ayudar

ProgressBar
Hola. El objeto ProgressBar no tiene el método Refresh... He puesto el intervalo mas grande y ocurre lo mismo: CUando se inicia el algoritmo se tira unos 5 o 6 segundos pensando y luego llena el progressbar rápidamente, pero dando tiempo a ver cómo se llena. El problema esque no debería estar esos 5 segundos quieto y llenarlo después, debería ir llenando en un tiempo más o menos lineal. Gracias por el interés.

Re: ProgressBar
Hola de nuevo, Mira me copie tu codigo y lo ejecute en mi maquina y el progress que utilizo es de la libreria Microsoft Windows Common Controls 6.0 (sp6) Te vuelvo a enviar el codigo o en dado caso enviame tu codigo y te lo mando correjido mi correo es juan_aleman@star.com.pe prgBarra.Min = 0: prgBarra.Max = 10 prgBarra.Value = prgBarra.Min: prgBarra.Visible = True For c3 = 0 To 9 c2 = 999 Do While c2 > 3 c1 = Int((999 * Rnd) + 1) c4 = Val(Right(CStr(Second(Time)), 1)) c4 = c4 + c1 If c4 > 0 And c4 < 3 Then c2 = c4: 'aD(c3) = c2 End If Loop prgBarra.Value = prgBarra.Value + 1 prgBarra.Refresh Next c3 Supongo que te deberia de servir Ya revise la barra que estas utilizando y es la Microsoft Windows Common COntrols 5.0 (sp2) y esta como dices no tiene refresh asi que la podrias cambiar. Espero que te ayude

Re: ProgressBar
Hola si ya corregiste tu error por favor finaliza la pregunta. gracias

Pregunta finalizada. Valoración: 3.
Bien. Una respuesta aceptable.


Volver al mensaje
http://www.todoexpertos.com/categorias/tecnologia-e-internet/programacion/visual-basic/respuestas/820981/progressbar