Pregunta: | 51494 - MANEJADOR DE ARCHIVOS CON UN PROGRESS BAR |
Autor: | Leonardo D'cesares |
Buen dia a todos(as) los que se encuentran en este foro, necesito su colaboracion para generar respuesta a esta intriga y mejorar el codigo que tengo elaborado.
La intriga es crear un manejador de archivo para crear un empaquetado de un sistema pero manejo muchos archivo externos que son tanto de audio como peliculas de flash que hacen muy pesado el sistema si los incluyo en el empaquetador de visual basic, por eso decide crear un formulario independiente que copie todos estos archivos y luego llame al setup creado por visual basic. El problema radica es que no hay nada que me determine cuanto ha transcurido este proceso, lo creado hasta el momento es este codigo que le muestro a continuación pero no se ve nada en el Progress Bar. les pido su colaboración y ayuda. Y agradezco de antemano a todos por dicha colaboración. ------------------------------------------------------------------------------------------------------------------------ Dim cont As Integer Private Sub Form_Activate() On Error Resume Next Set fs = CreateObject("Scripting.FileSystemObject") For i = 1 To cont Progreso.Value = i Set a = fs.CopyFile("*.swf", App.Path + "\prueba") i = i + 1 Next i End Sub Private Sub Form_Load() on Error Resume Next Set fs = CreateObject("Scripting.FileSystemObject") File1 = App.Path ' esto es un filelistbox File1.Pattern = "*.swf" cont = File1.ListCount Progreso.Min = 1 Progreso.Max = cont Progreso.Value = 1 MkDir app.path + "\prueba" End Sub |
Respuesta: | Gabriel Memmel |
Hola Leonardo, creo que lo que le esta faltando a tu codigo es una interrupción para que el programa pueda realizar otras tareas como actualizar el estado del ProgressBar, para hacer esto basta con agregar una linea con el comando
DoEvents luego de asignar el valor a Progreso.value y asi podrá actualizar el progreso correspondiente. |