Visual Basic - Barra de progreso

Life is soft - evento anual de software empresarial
 
Vista:

Barra de progreso

Publicado por Lorena (11 intervenciones) el 09/06/2017 18:29:09
Buenas tardes, tengo una duda. Tengo un programa que realiza una copia de usuarios pero cuando tienen muchos datos se queda como pillado aunque sigue trabajando. Me gustaría saber como insertar una barra de progreso o algo parecido

Muchas gracias
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
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Barra de progreso

Publicado por Andres Leonardo (1798 intervenciones) el 09/06/2017 23:22:18
Lorena ... eso no es malo pero los lulos o barras de progreso .... no son muy preciso en transacciones Windows... yo te recomiendo mostrar algun formulario flotante con una leyenda .. trabajando si queires un gif (cargando ,.....)

y cuando termina le haces unload.

lo que quieres yo lo tengo asi...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub cmd_Procesar ()
porcentaje = 100 / Numero  ' donde numero es el numero de vveces que actualizara  ejemplo 10 seran 10 aumentos y eso actualizara el pb 
while porcentaje <=100  ' o el loop que necesites
          progreso = progreso + porcentaje
          incrementaBarra (progreso)
Me.Refresh
wend
          msgbox "Proceso terminado"
'Esto es para dejar la barra y el progreso en cero.
    PB1.Value = 0 ' se inicializa la barra al terminar el proceso
    progreso = 0
End Sub
 
 
Sub incrementaBarra(progreso As Double)
PB1.Value = progreso
If progreso = 100 Then
    P = P + 1
End If
End Sub

Espero te sirva....
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

Barra de progreso

Publicado por Lorena (11 intervenciones) el 10/06/2017 17:19:06
Pues la idea del gif me mola mucho, no lo había pensado la verdad. Te la copio...muchas 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
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Barra de progreso

Publicado por Andres Leonardo (1798 intervenciones) el 12/06/2017 15:49:23
Que bueno que la recomendacion te haya ayudado

Y ese form lo puedes udsar en todo tu proyecto

Saludos desde Ecuador.!!!
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

Barra de progreso

Publicado por Lorena (11 intervenciones) el 18/06/2017 19:45:22
Buenas de nuevo, hice lo que me comentaste y al principio creía que era por los equipos pero cuando me intenta abrir el gif...no me carga, se queda pillado sea cual sea el equipo, alguna idea???

Un saludo y 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
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Barra de progreso

Publicado por Andres Leonardo (1798 intervenciones) el 19/06/2017 15:30:24
revisa el componente que tienes para mostrar el gif ...
cual es el componente que tiene el gif?
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

Barra de progreso

Publicado por Lorena (11 intervenciones) el 19/06/2017 20:23:32
Ya he visto el problema y es que cuando lo quiero lazar está realizando lo siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    Dim os As String = System.Environment.OSVersion.Version.Major
    On Error Resume Next
    If os = 5 Then
        Dim carpetas() As String = Directory.GetDirectories(copia)
        For Each carpeta As String In carpetas
            ListBox1.Items.Add(carpeta)
            For i As Integer = 0 To Me.ListBox1.Items.Count - 1
                Me.ListBox1.SetSelected(i, True)
            Next
            Directory.CreateDirectory(destino & "\" & Path.GetFileName(ListBox1.SelectedItem))
            Dim fso As New FileSystemObject
            fso = New FileSystemObject
            If Directory.Exists(ListBox1.SelectedItem & "\Commadri") Then
                fso.CopyFolder((ListBox1.SelectedItem & "\Commadri"), destino & "\" & Path.GetFileName(ListBox1.SelectedItem) & "\Commadri")
            End If
            If Directory.Exists(ListBox1.SelectedItem & "\Escritorio") Then
                fso.CopyFolder((ListBox1.SelectedItem & "\Escritorio"), destino & "\" & Path.GetFileName(ListBox1.SelectedItem) & "\Escritorio")
            End If
            If Directory.Exists(ListBox1.SelectedItem & "\Favoritos") Then
                fso.CopyFolder((ListBox1.SelectedItem & "\Favoritos"), destino & "\" & Path.GetFileName(ListBox1.SelectedItem) & "\Favoritos")
            End If
            fso = Nothing
        Next
        MsgBox("Copia de perfiles terminada satisfactoriamente", vbOKOnly + vbInformation, "Copia Correcta")
    Else
        MsgBox("Copia de perfiles incorrecta", vbOKOnly + vbInformation, "Copia fallida")
    End If
End Sub

Entonces se queda súper bloqueado hasta que acaba y aparece el gif...Creo que lo voy a dejar así pero me voy a apuntar lo del gif para otros mini proyectos que estoy haciendo
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