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

Mostrar barra de progreso (ProgressBar)

Estas en el tema de Mostrar barra de progreso (ProgressBar) en el foro de Visual Basic clásico en Foros del Web. Tengo un ProgressBar llamado Progreso en un form y al dar click al boton guardar necesito que muestre eso, el progreso de guardado. Private Sub ...
  #1 (permalink)  
Antiguo 18/02/2005, 21:37
Avatar de carlunchos  
Fecha de Ingreso: enero-2002
Ubicación: no tengo, soy un desubicado?.
Mensajes: 438
Antigüedad: 22 años, 3 meses
Puntos: 1
Pregunta Mostrar barra de progreso (ProgressBar)

Tengo un ProgressBar llamado Progreso en un form y al dar click al boton guardar necesito que muestre eso, el progreso de guardado.

Private Sub Form_Load()

Timer1.Enabled = False

End Sub

'En el boton Guardar:

Progreso.Value = 0
Timer1.Enabled = True


'en el Timer1 tengo:

Private Sub Timer1_Timer()
Dim largo As String
largo As Long
largo = "C:\Mstest\novedades.txt"

With Progreso ' nombre del ProgressBar
If .Value < FileLen(largo) Then
.Value = .Value + 1
Else
MsgBox "Proceso Terminado"
Timer1.Enabled = False
End If
End With
End Sub


Pero no logro mostrar la barra de progreso. Donde esta el error?.

Saludos.
__________________
Carlunchos
  #2 (permalink)  
Antiguo 18/02/2005, 22:55
 
Fecha de Ingreso: marzo-2004
Ubicación: Lerdo en Duragno Mexico
Mensajes: 27
Antigüedad: 20 años, 1 mes
Puntos: 0
creo que aqui esta el error, solo va a estar subiendo el valor en cada timer, pero no muetra el valo de progreso real, necesitarias saber cuantos bytes se han escrito de el archivo, y sacar un porcentaje y entonces aplicarse al value del progress, lo malo es que no se si hay una funcion asi. pero si la hay quedaria algo asi

If .Value < FileLen(largo) Then
.Value = .Value + 1
Else
MsgBox "Proceso Terminado"
Timer1.Enabled = False
End If


.value round(bytes_escritos/FileLen(largo)*100) Then
if .value=100 then
MsgBox "Proceso Terminado"
Timer1.Enabled = False
End If
  #3 (permalink)  
Antiguo 20/02/2005, 11:46
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
en las FAQ's tambien tenes un ejemplo, si le queres hechar un ojo..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #4 (permalink)  
Antiguo 20/02/2005, 18:51
Avatar de carlunchos  
Fecha de Ingreso: enero-2002
Ubicación: no tengo, soy un desubicado?.
Mensajes: 438
Antigüedad: 22 años, 3 meses
Puntos: 1
Gracias GeoAvila y wario64 por responder.

Lo solucione de esta forma, seguramente es una chapuceada pero me saca del brete:

Dim i As Long 'el numero de canal
Dim sPathBase As String 'contiene el camino al .mdb

'asignamos a un canal libre el archivo a abrir
i = FreeFile
'en esta variable ponemos el tamaño del archivo abierto
tamFich = LOF(i)
'ponemos Progreso en cero
Progreso.Value = 0
'y habilitamos el Timer1 que estaba deshabilitado para que controle
'el ProgressBar
Timer1.Enabled = True

With Progreso
'indicamos con tamFich el Max del ProgressBar
.Max = tamFich
'indicamos de 1 al Max del archivo
For j = 1 To tamFich
'mientras el valor del ProgressBar sea menor al tamFich
If .Value <= tamFich Then
'incrementamos el valor del mismo
.Value = .Value + 1
End If
Next
end with

Si alguien me puede pasar un codificado mas "profesional" muy agradecido.

Saludos.
__________________
Carlunchos
  #5 (permalink)  
Antiguo 21/02/2005, 13:42
 
Fecha de Ingreso: noviembre-2003
Mensajes: 46
Antigüedad: 20 años, 6 meses
Puntos: 0
Existe Alguna Forma De Ponerle Un Titulo Al Progresbar, Algo Como "" Procesando El Archivo "" & Archivo.text ??? Gracias ¡¡¡¡
  #6 (permalink)  
Antiguo 21/02/2005, 18:38
Avatar de carlunchos  
Fecha de Ingreso: enero-2002
Ubicación: no tengo, soy un desubicado?.
Mensajes: 438
Antigüedad: 22 años, 3 meses
Puntos: 1
Mi modesta experiencia me indica que no, pero podria ser que al momento de mostrar el progreso se haga visible una Label con ese texto, luego al finalizar que la Label se ponga Hide. Otra chapuceada y van .....


Saludos.
__________________
Carlunchos
  #7 (permalink)  
Antiguo 22/02/2005, 07:19
Avatar de vbx3m  
Fecha de Ingreso: febrero-2005
Ubicación: Venezuela
Mensajes: 524
Antigüedad: 19 años, 3 meses
Puntos: 1
Progressbar con titulo

Si se le puede poner titulo pero no exactamente con ese control para eso debes bajar un ocx...
  #8 (permalink)  
Antiguo 22/02/2005, 07:22
 
Fecha de Ingreso: noviembre-2003
Mensajes: 46
Antigüedad: 20 años, 6 meses
Puntos: 0
me podrias decir cual y de donde bajarlo GRCIAS ¡¡¡¡
  #9 (permalink)  
Antiguo 22/02/2005, 07:26
Avatar de vbx3m  
Fecha de Ingreso: febrero-2005
Ubicación: Venezuela
Mensajes: 524
Antigüedad: 19 años, 3 meses
Puntos: 1
Progress

de donde no me acuerdo.. se llama osprogress...
  #10 (permalink)  
Antiguo 10/04/2006, 10:03
 
Fecha de Ingreso: abril-2006
Mensajes: 1
Antigüedad: 18 años
Puntos: 0
ProgressBar

Primero cuento las lineas del archivo y estas van a ser el máximo de la barra de progreso y asi no necesitas calcular un promedio.

Open ("C:\PROGRAMA_PDN\PN_DIGICEL.TXT") For Input As #1
Do While Not EOF(1)
Line Input #1, DATO
C = C + 1
Loop
Close #1

Open ("C:\PROGRAMA_PDN\PN_DIGICEL.TXT") For Input As #1
Do While Not EOF(1)
With ProgressBar1
.Min = 0
.Value = 0
.Max = C - 1
For i = 0 To .Max

Line Input #1, DATO

Close #2
.Value = i
Next
End With
Loop
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 13:02.