Foros del Web » Programación para mayores de 30 ;) » .NET »

Ejecutar un segundo plano con una aplicacion vb.net

Estas en el tema de Ejecutar un segundo plano con una aplicacion vb.net en el foro de .NET en Foros del Web. Bueno e visto ejemplos, sin embargo o todos o la mayoria son con la serie de fibonacci y/o con cierto tiempo determinado, sin embargo lo ...
  #1 (permalink)  
Antiguo 20/06/2013, 10:46
 
Fecha de Ingreso: enero-2013
Mensajes: 93
Antigüedad: 11 años, 9 meses
Puntos: 0
Pregunta Ejecutar un segundo plano con una aplicacion vb.net

Bueno e visto ejemplos, sin embargo o todos o la mayoria son con la serie de fibonacci y/o con cierto tiempo determinado, sin embargo lo que quiero es mostrar en segundo plano una barra de progreso, mientras se comprimen archivos ya que en ocaciones son demasiados, les pongo el codigo que utilizo:
Código vb:
Ver original
  1. Imports System.IO
  2. Imports System.IO.DirectoryInfo
  3. Imports System.IO.Directory
  4. Imports Ionic.Zip
  5. Imports System
  6.  
  7.  
  8. Public Class Form1
  9.     Private strPath As String
  10.     Dim txt As String, bol As Boolean
  11.     Dim a As String = ".zip"
  12.  
  13.  
  14.     Private Sub btnArchivo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnArchivo.Click
  15.         Try
  16.             With FolderBrowserDialog1
  17.                 .Reset()
  18.                 .Description = " Seleccionar una carpeta "
  19.                 .SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
  20.                 .ShowNewFolderButton = False
  21.                 Dim ret As DialogResult = .ShowDialog
  22.                 If ret = Windows.Forms.DialogResult.OK Then
  23.                     'Dim nFiles As ObjectModel.ReadOnlyCollection(Of String)
  24.                    'nFiles = My.Computer.FileSystem.GetFiles(.SelectedPath, FileIO.SearchOption.SearchAllSubDirectories)
  25.                    TextBox1.Text = FolderBrowserDialog1.SelectedPath.ToString()
  26.                  
  27.                 End If
  28.                 .Dispose()
  29.             End With
  30.  
  31.         Catch oe As Exception
  32.             MsgBox(oe.Message, MsgBoxStyle.Critical)
  33.         End Try
  34.     End Sub
  35.  Public Sub Comprimirtxt1()
  36.         Dim txtFiles = Directory.GetFiles(Me.TextBox1.Text, "*.txt")
  37.         For Each currentFile As String In txtFiles
  38.             Using zip As ZipFile = New ZipFile()
  39.                 zip.AddFile(currentFile, "")
  40.                 zip.Save(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(currentFile), System.IO.Path.GetFileNameWithoutExtension(currentFile) + ".zip"))
  41.                 File.Delete(currentFile)
  42.  
  43.             End Using
  44.         Next
  45.     End Sub
  46.  Private Sub btnComprimir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnComprimir.Click
  47.                     Comprimirtxt()
  48.                     MessageBox.Show("Accion Finalizada!", "Accion exitosa", MessageBoxButtons.OK)
  49. End Sub
  50.  Private Sub BackgroundWorker1_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles BackgroundWorker1.ProgressChanged
  51.         ProgressBar1.Value = e.ProgressPercentage
  52.     End Sub
  53.  
  54.     Private Sub BackgroundWorker1_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted
  55.  
  56.         MessageBox.Show("Proceso Completado")
  57.  
  58.     End Sub
  59.     Private Sub Proceso()
  60.         ' PROCESO
  61.        Dim i As Integer
  62.  
  63.         For i = 1 To 100
  64.             If Me.BackgroundWorker1.CancellationPending = True Then
  65.                 MsgBox("El proceso se canceló")
  66.                 Exit Sub
  67.             End If
  68.  
  69.             BackgroundWorker1.ReportProgress(i)
  70.             Threading.Thread.Sleep(500)
  71.         Next
  72.  
  73.     End Sub
  74. End Class

Yo se que en BackgroundWorker1_DoWork le debo indicar que hacer pero no se como indicarle que avance segun el archivo comprimido hasta llenar la barra de progreso...
Saludos buen dia!

Etiquetas: aplicacion, bd, plano, segundo, textbox
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 09:15.