Muchas Gracias por ayudar, pero tengo un problema a la hora de colocar el codigo.
Compo puedes observar me aparecen varios errorres y son como:
"Open no es un miembro de ZipFile"
"Length no es un miembro de ZipArchiveEntry"
"ExtracToFile no es un miembro de ZipArchiveEntry"
"Name no es un miembro de ZipArchiveEntry"
Los Imports que tengo son estos:
No se cual es el problema.
Gracias, y espero tu respuesta.
Cita:
Iniciado por Drako_18 Buenas compañero,
Prueba esto... (lo he modificado, porque el código que tu pusiste no me funcionó muy bien..)
Código vb:
Ver originalPrivate Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim sZipAExtraer As String = "C:\temp\aaa.zip"
Dim sDirectorioExtraccion As String = "C:\temp\aaa"
Dim oZip As ZipArchive = ZipFile.Open(sZipAExtraer, ZipArchiveMode.Read)
Dim lSize As Long
Dim lInicial As Long
Dim lstEntradas As List(Of ZipArchiveEntry) = oZip.Entries.OrderBy(Function(x) x.Length).ToList()
lstEntradas.ForEach(Sub(x)
lSize += x.Length
End Sub)
ProgressBar1.Minimum = 0
ProgressBar1.Maximum = lSize
ProgressBar1.Value = 0
For Each ent As ZipArchiveEntry In lstEntradas
lInicial = (ent.Length * 10) / 100 '10%
ProgressBar1.Value += lInicial
ent.ExtractToFile(sDirectorioExtraccion & "/" & ent.Name, True)
ProgressBar1.Value += ent.Length - lInicial '100% del archivo
Next
End Sub
Te lo explico un poco...
1º) Ordeno la lista de entradas por tamaño (menor a mayor)
2º) Miro cuanto es el tamaño total (lSize)
3º) Recorro todas las entradas, de inicio, pongo un 10% del archivo como ya descomprimido, y una vez terminado, pongo el restante
Un saludo!!!