Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Progress Bar

Estas en el tema de Progress Bar en el foro de Visual Basic clásico en Foros del Web. De nuevo Progress Bar He buscado en las FAQs y en todo el foro desde el principio, pero no encuentro como hacer lo que quiero, ...
  #1 (permalink)  
Antiguo 30/06/2005, 02:35
jorevale
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Progress Bar

De nuevo Progress Bar

He buscado en las FAQs y en todo el foro desde el principio, pero no encuentro como hacer lo que quiero, y no sé siquiera si es posible.

Tenemos una aplicación con dos formularios: Form1 (formulario inicial) y Form2, al cual se accede desde un menú en Form1.

El asunto es que al cargar Form2 se ejecutan una serie de procesos un poco largos y el sistema demora. Yo pretendía mostrar una barra de progreso que mostrara la evolución de dichos procesos entre el momento en que se hace click para acceder a Form2, hasta el momento en que este realmente está listo para su uso.

Cualquier idea queda agradecida de antemano

Gracias
  #2 (permalink)  
Antiguo 30/06/2005, 08:23
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
con un ciclo for
al inicio tenes que saber cuantos procesos existen.
Código:
progressbar.max = 3
proceso1
progressbar.value = 1
proceso2
progressbar.value = 2
proceso3
progressbar.value = 3

'borramos el progreso
progressbar.value = 0
siempre revisalo porque lo hice al pulso, no se si tiene errores, en especial el nombre delprogressbar

de esta manera
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #3 (permalink)  
Antiguo 30/06/2005, 08:49
jorevale
Invitado
 
Mensajes: n/a
Puntos:
De acuerdo

Gracias GeoAvila, ya yo había encontrado otra variante que es una chapucería, lo sé, pero me estaba funcionando hasta que... explico.

Había pasado el Timer y el ProgressBar a un form, llamémosle Form3

De forma que en Form1 hacía (al hacer click en el menú que llama a Form2):

Private sub mForm2_Click()
Form3.Show vbModal ' el que contiene el Timer y el ProgressBar
Form2.Show
Form2.Enabled = False
end sub

En Form3:
Private sub Form3_Load()
Timer1.Enabled = True
ProgressBar1.Value = 0
ProgressBar1.Visible = True
End Sub
Private sub Timer1_Timer()
ProgressBar1.Value = ProgressBar1.Value + 1
if ProgressBar1.Value >= 100 then
Timer1.Enabled = False
Unload Proyecto.Form3
Form2.Enabled = True
End If
End Sub

Ya sé que es una chapucería y un timo, pues en realidad el sistema no hace nada mientras muestra la barra, y eso puede durar más (o bastante más) que los procesos que se desarrollan por detrás, en Form2, pero eso sólo lo sé yo... bueno... y ahora tú...
  #4 (permalink)  
Antiguo 30/06/2005, 08:51
jorevale
Invitado
 
Mensajes: n/a
Puntos:
Y con respecto a lo que dije de que me estaba funcionando bien, era así cuando comencé a escribirte el mensaje, porque había puesto en lugar de:

Unload Proyecto.Form3

había puesto

Unload Form3

y no lo estaba haciendo, pero mientras redactaba el mensaje, lo arreglé de esa forma y funciona...
  #5 (permalink)  
Antiguo 30/06/2005, 09:39
jorevale
Invitado
 
Mensajes: n/a
Puntos:
De todas formas no me resuelve el problema, porque Form2 no comienza a cargarse hasta que Form3 no termina con su barra ficticia... lo haré a la forma tuya... pero me pregunto si la variante que yo planteaba podrá hacerse...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:58.