Barra de progreso con el tiempo que dure un procedimiento
La idea es la siguiente:
Necesito que una barra de progreso le vaya indicando al usuario el avance del mismo, pero dependiendo del tiempo que dure el procesador en realizar el proceso, no con un tiempo predefinido en algun timer.
Por favor, ayudenme.
Necesito que una barra de progreso le vaya indicando al usuario el avance del mismo, pero dependiendo del tiempo que dure el procesador en realizar el proceso, no con un tiempo predefinido en algun timer.
Por favor, ayudenme.
tienes que establecer el valor maximo del proceso por ejemplo en un bucle, el valor de la condicion.
ej:
for I=0 to ValorMaximo
por lo que seria
Me.ProgressBar1.Min = 0
Me.ProgressBar1.Max = ValorMaximo
y luego determinar el factor de incremento. Para ejemplificartelo mejor, pues no se el trabajo que estas haciendo mira este ejemplo con un boton y una barra.
Ojala te sirva:
Private Sub Command1_Click()
Dim ValorMaximo As Integer
ValorMaximo = 10000
Me.ProgressBar1.Max = ValorMaximo
For i = 0 To ValorMaximo
Me.ProgressBar1.Value = i
Next
End Sub
Private Sub Form_Load()
Me.ProgressBar1.Min = 0
End Sub
si te queda duda dimelo y tratare de ayudarte
Chao
palacios
[email protected]
ej:
for I=0 to ValorMaximo
por lo que seria
Me.ProgressBar1.Min = 0
Me.ProgressBar1.Max = ValorMaximo
y luego determinar el factor de incremento. Para ejemplificartelo mejor, pues no se el trabajo que estas haciendo mira este ejemplo con un boton y una barra.
Ojala te sirva:
Private Sub Command1_Click()
Dim ValorMaximo As Integer
ValorMaximo = 10000
Me.ProgressBar1.Max = ValorMaximo
For i = 0 To ValorMaximo
Me.ProgressBar1.Value = i
Next
End Sub
Private Sub Form_Load()
Me.ProgressBar1.Min = 0
End Sub
si te queda duda dimelo y tratare de ayudarte
Chao
palacios
[email protected]
yo si tengo una duda palacios, como saber el valor maximo?
yo tengo un programa el cual hace respaldo de una base de datos en un disket, y me gustaria ponerle la barra de progreso en lo que se hace la copia de la base de datos, pero como saber cuanto se tardara para ponerle ese valor a la barra o como se le hace?
Gracias!
yo tengo un programa el cual hace respaldo de una base de datos en un disket, y me gustaria ponerle la barra de progreso en lo que se hace la copia de la base de datos, pero como saber cuanto se tardara para ponerle ese valor a la barra o como se le hace?
Gracias!
Private Sub Command1_Click()
Dim fs As New FileSystemObject
Dim temporal As Folder
Dim archivo As File
Dim porcentaje As Double
Dim progreso As Double
Dim nCarpetas As Integer
On Error Resume Next
i = 0
progreso = 0
Set temporal = fs.GetSpecialFolder(2)
porcentaje = 100 / temporal.Files.Count
nCarpetas = temporal.SubFolders.Count
Screen.MousePointer = vbHourglass
For Each archivo In temporal.Files
numCarpeta.Caption = i & "/" & nCarpetas
lblArchivo.Caption = archivo
SetAttr archivo, vbNormal
archivo.Delete True
progreso = progreso + porcentaje
incrementaBarra (progreso)
DoEvents
Next archivo
Screen.MousePointer = vbDefault
MsgBox "Proceso Completado"
End Sub
Sub incrementaBarra(progreso As Double)
ProgressBar1.Value = progreso
If progreso = 100 Then
i = i + 1
End If
End Sub
Private Sub Command2_Click()
End
End Sub
*Este codigo es de SDEMINGO derechos intelectuales reservados
*Cumplo con la declaracion de que ese codigo pertenece a alguien (SDEMINGO) y lo publico para Guia .
Espero que te sirva
Dim fs As New FileSystemObject
Dim temporal As Folder
Dim archivo As File
Dim porcentaje As Double
Dim progreso As Double
Dim nCarpetas As Integer
On Error Resume Next
i = 0
progreso = 0
Set temporal = fs.GetSpecialFolder(2)
porcentaje = 100 / temporal.Files.Count
nCarpetas = temporal.SubFolders.Count
Screen.MousePointer = vbHourglass
For Each archivo In temporal.Files
numCarpeta.Caption = i & "/" & nCarpetas
lblArchivo.Caption = archivo
SetAttr archivo, vbNormal
archivo.Delete True
progreso = progreso + porcentaje
incrementaBarra (progreso)
DoEvents
Next archivo
Screen.MousePointer = vbDefault
MsgBox "Proceso Completado"
End Sub
Sub incrementaBarra(progreso As Double)
ProgressBar1.Value = progreso
If progreso = 100 Then
i = i + 1
End If
End Sub
Private Sub Command2_Click()
End
End Sub
*Este codigo es de SDEMINGO derechos intelectuales reservados
*Cumplo con la declaracion de que ese codigo pertenece a alguien (SDEMINGO) y lo publico para Guia .
Espero que te sirva
