Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Controles Adicionales VB 6.0
Controles Adicionales VB 6.0
Ejemplo 1
Propiedad Scrolling
Ejemplo 2
Enlaces relacionados
Nota: en el siguiente enlace se encuentra un listado con enlaces relacionados : Progressbar enlaces
Si bien es posible crear barras de progreso sin utilizar un control adicional, mediante el ProgressBar podemos
implementar de una manera rpida y fcil, mediciones de progreso de una determinada tarea
Value: Propiedad que indica el valor actual de la barra, o mejor dicho del proceso que estamos
midiendo
Nota: Este control tambin posee otras propiedades, pero que no son determinantes y que estn
relacionadas mas a su aspecto grfico.
Este ejemplo consite en generar un bucle For-Next desde 0 hasta 5000, y en cada pasada del bucle, se ir
asignando el valor de la misma a la propiedad Value del control.
Al Progressbar, en la propiedad Min le establecemos el valor 0. A la propiedad Max el valor mximo del
proceso y la propiedad Value tomar como valor el valor de x, la variable del For - Next
Para el ejemplo agregar los siguientes controles en un formulario:
Next x
End Sub
.Max = 5000
.Min = 0
.Value = 0
End With
End Sub
Las propiedades Min y Value pueden establecrsele valores como mnimo de 0, osea que un valor inferior a 0
producir un error 380 en tiempo de ejecucin, la descripcin del error es:
El valor de la propiedad no es vlido
El ProgressBar no tiene ninguna Propiedad para medir el porcentaje. Para el ejemplo anterior podramos
hacerlo de esta manera, y mostrar adems de la barra de progreso, un porcentaje del mismo utilizando un
control Label, como muestra este grfico:
DoEvents
Next
End Sub
4 - Propiedad Scrolling
Para cambiar el aspecto grfico del Progressbar, hay una propiedad llamada Scrolling. Esta tiene 2 valores
posibles, 0 y 1.
Si le colocamos esta propiedad en 0, el Progress tendr una vista dividida por recuadros. Si tiene el valor 1,
la barra de progreso es continua, como se ve en la siguiente imagen
5 - Ejemplo 2
Ahora un ejemplo que tenga algn sentido mas prctico que el visto al comienzo (por lo menos un poco mas
de sentido)
Este consiste en agregar en un control ListBox la fecha de modificacin de todos los archivos de un
directorio, y mostrar en la barra de progreso el tiempo que tarda.
Para este ejemplo hay que agregar un control DirListBox llamado Dir1, un FileListBox File1, un Progressbar1,
un Label1, un ListBox llamado List1 y un Command1 como est en la imagen:
For i = 0 To File1.ListCount - 1
'Agregamos la fecha de modificcin del archivo en el List1 _
con la funcin FileDateTime de visual basic
List1.AddItem FileDateTime(Dir1.Path & "\" & File1.List(i))
'Asignamos al Value el valor de i
ProgressBar1.Value = i + 1
'Mostramos el porcentaje en el Label1
Label1 = CLng((ProgressBar1.Value * 100) / ProgressBar1.Max) & " %"
DoEvents
Next
End Sub
Private Sub Form_Load()
With File1
.Archive = True
.Normal = True
.ReadOnly = True
.Hidden = True
.System = True
End With
End Sub
Private Sub Dir1_Change()
File1 = Dir1
End Sub
En el ejemplo anterior, se visualiza por medio de un DirListBox y un FileListBox, los archivos de la pc. Al
presionar el Command1 se recorre toda la lista del control File1 (mediante la propiedad List) y se recupera y
se agrega con la funcin FileDateTime de Visual Basic la fecha de modificacin de los archivos en el control
ListBox.
Nota: Tener en cuenta que al listar un directorio que tiene pocos archivos, el progreso no se podr visualizar
ya que va a ser muy rpido, en cambio si lists un directorio con muchos ficheros, como por ejemplo el
directorio de sistema de windows ( System32 en xp ), el progreso lo vas a poder visualizar correctamente.
Hay otras propiedades como se mencionaron para este control, pero no son importantes, y estn mas
relacionadas a la visualizacin y disposicin del mismo, como Orientation,BorderStyle, Scrolling etc...
Una forma de poder aplicar los diferentes temas de windows Xp a las barras de progreso, es mediante el
siguiente control ocx gratuito que los pods descagrar desde este enlace : Ocx Windows XP C1