Visual Basic - ProgressBar URGENTE

Life is soft - evento anual de software empresarial
 
Vista:

ProgressBar URGENTE

Publicado por Jose (82 intervenciones) el 14/03/2002 10:04:54
HOla:

Tengo un form donde tengo un Boton "Command1"
una barra de progreso no viseble.
y un procedimiento que realiza el manteniomiento de una tabla de acces (compactar, backup, etc)

Mi pedido es el siguiente: (Con codigo por favor)

Al hacer click en el command1 ejecute el procedimiento y vaya mostrando la barra de progreso mientras ejecuta el procedimiento.

Gracias, CON CODIGO POR FAVOR
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ProgressBar URGENTE

Publicado por ElJose (103 intervenciones) el 14/03/2002 13:09:54
El funcionamiento de la ProgressBar es muy sencillo, basta inicializar la propiedad Max a un número, la Min debe ser 0, y aumentar la propiedad Value, en tu caso si sabes el tiempo que va a tardar puedes asignar Max a ese tiempo, si tienes varios pasos (compactar, backup,etc.) al número de pasos y cada vez que termines uno aumentar Value, el problema que puedes tener es que no sepas el tiempo, ni puedas calcularlo, o que al estar haciendo cada uno de los pasos no puedas cambiar la propiedad, con lo que la segunda opción será la mejor, no tengo código por que es sumamente sencillo :

ProgressBar1.Max = 3
ProgressBar1.Value = 1
'Código
ProgressBar1.Value = 2
'Código
ProgressBar1.Value = 3

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ProgressBar URGENTE

Publicado por Jose (82 intervenciones) el 14/03/2002 13:20:09
Comprendo pero por ejemplo:
Si quiero copiar un archivo y hago lo siguiente
ProgressBar1.Value=1
'Codigo para copiar o llamada a procedimiento
ProgressBar1.Value=100

no la va mostrando progresiva a la barra de progreso pasa del valor 1 al 100 de golpe o no?

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ProgressBar URGENTE

Publicado por ElJose (103 intervenciones) el 15/03/2002 03:34:31
Sí por que copias el archivo de golpe y mientras lo estás copiando el sistema no te da la posibilidad de cambiar la ProgressBar, si tuvieses varios archivos o los copiases a trozos podrías calcular el tiempo que te va a llevar e irla modificando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ProgressBar URGENTE

Publicado por Richi317 (95 intervenciones) el 15/03/2002 05:52:42
El problema que vas a tener es saber el tiempo que te va a llevar la operación de la que quieres informar mediante el PBar.
Esto puede ser fácilmente calculable si, por ejemplo, tienes que meter muchos registros en una BD. Si sabes cuántos registros vas a meter puedes ir avanzando a medida que lo hagas.
O puede ser casi difícil de calcular: por ejemplo, si lo que quieres es copiar un fichero de 20Mb... ¿cómo puedes saber cúánto llevas copiado?
De todas formas, te doy un par de consejos:
1) Inicializa las propiedades PBar.Min = 0 y PBar.Max =100 (por ejemplo)
Para avanzar, créate un procedimiento similar al siguiente:
Sub PBarAvance()
if PBar.Value <=PBar.Max then
Pbar.Value = PBar.Value+1
endif
¿por qué?
porque si asignas a PBar.Value un valor mayor que el que pusiste en Pbar.Max, canta un error.

2) Antes y después de llamar a PBarAvance ejecuta la instrucción
DoEvents()
Porque puede que no veas los resultados en pantalla.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ProgressBar URGENTE

Publicado por Cristian (14 intervenciones) el 05/07/2002 05:15:13
Estaba haciendo una prueba, que es escribir un texto en un text y usar el progressbar, pero el problema es que no me aparece el textoinmediatamente, aqui te envio el codigo, gracias.

Private Sub Command3_Click()
Text1.Text = ""
ProgressBar.Min = 0

total = 1000
ProgressBar.Max = total
For i = 0 To total

Text1.Text = Text1.Text & " texto es " & i


If ProgressBar.Value < ProgressBar.Max Then
ProgressBar.Value = ProgressBar.Value + 1
End If

Next i
End Sub

El texto me aparece de una, y no cada vez que se modifica, gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar