Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- '****** HAY QUE REFERENCIAR [Ionic.Zip.dll]
- Imports Ionic.Zip
- Public Class ZIP
- Private obZIP As New ZipFile
- Public Sub New()
- End Sub
- #Region "PROPIEDADES"
- Private _Nombre As String
- Public Property Nombre() As String
- Get
- Return _Nombre
- End Get
- Set(ByVal value As String)
- _Nombre = value
- If _Ruta <> "" Then _RutaFic = _Ruta & _Nombre
- obZIP.Name = _Nombre
- End Set
- End Property
- Private _Ruta As String
- Public Property Ruta() As String
- Get
- Return _Ruta
- End Get
- Set(ByVal value As String)
- _Ruta = value
- If _Nombre <> "" Then _RutaFic = _Ruta & _Nombre
- 'obZIP.AddDirectory(_Ruta)
- End Set
- End Property
- Private _RutaFic As String
- Public Property RutaFic() As String
- Get
- Return _RutaFic
- End Get
- Set(ByVal value As String)
- _RutaFic = value
- _Ruta = DameRuta(_RutaFic)
- _Nombre = DameFichero(_RutaFic)
- End Set
- End Property
- Private _iFicheros As Integer
- Public Property iFicheros() As Integer
- Get
- Return _iFicheros
- End Get
- Set(ByVal value As Integer)
- _iFicheros = value
- End Set
- End Property
- Private _sError As String
- Public Property sError() As String
- Get
- Return _sError
- End Get
- Set(ByVal value As String)
- _sError = value
- End Set
- End Property
- #End Region
- #Region "MÉTODOS_PRIVADOS"
- Private Function DameRuta(RutaFic As String) As String
- Dim iPos As Integer
- Dim sRuta As String = StrReverse(RutaFic)
- iPos = InStr(1, sRuta, "\")
- sRuta = Right(sRuta, Len(sRuta) - iPos + 1)
- sRuta = StrReverse(sRuta)
- DameRuta = sRuta
- End Function
- Private Function DameFichero(RutaFic As String) As String
- Dim iPos As Integer
- Dim sFic As String = StrReverse(RutaFic)
- iPos = InStr(1, sFic, "\")
- sFic = Left(sFic, iPos - 1)
- sFic = StrReverse(sFic)
- DameFichero = sFic
- End Function
- #End Region
- #Region "MÉTODOS_PÚBLICOS"
- Public Sub DescomprimirTodo(sRuta As String)
- On Error GoTo TrataError
- Dim ArchivoZIP As ZipFile = ZipFile.Read(_RutaFic)
- ArchivoZIP.ExtractExistingFile = ExtractExistingFileAction.OverwriteSilently
- ArchivoZIP.ExtractAll(sRuta)
- ArchivoZIP = Nothing
- Exit Sub
- TrataError:
- _sError = "[ZIP.DescomprimirTodo]" & vbCrLf & Err.Description
- End Sub
- Public Sub DescomprimirArchivo(sRuta As String, Archivo As String, Optional bSobreEscribir As Boolean = False)
- On Error GoTo TrataError
- Dim bEncontrado As Boolean = False
- Dim ArchivoZIP As ZipFile = ZipFile.Read(_RutaFic)
- Dim iAccion As Integer = 2
- If bSobreEscribir Then iAccion = 1
- Dim e As ZipEntry
- For Each e In ArchivoZIP
- If e.FileName = Archivo Then
- e.Extract(sRuta, iAccion)
- bEncontrado = True : Exit For
- End If
- Next
- If Not bEncontrado Then _sError = "[ZIP.DescomprimirArchivo]" & vbCrLf & "Archivo (" & Archivo & ") no Encontrado"
- ArchivoZIP = Nothing
- Exit Sub
- TrataError:
- _sError = "[ZIP.DescomprimirArchivo]" & vbCrLf & Err.Description
- End Sub
- ' Public Sub DescomprimirCarpeta(sRuta As String, Carpeta As String)
- ' On Error GoTo TrataError
- ' Dim bEncontrado As Boolean = False
- ' Dim ArchivoZIP As ZipFile = ZipFile.Read(_RutaFic)
- ' Dim e As ZipEntry
- ' For Each e In ArchivoZIP
- ' If e.IsDirectory And e.FileName = Carpeta & "/" Then
- ' e.Extract(sRuta)
- ' bEncontrado = True : Exit For
- ' End If
- ' Next
- ' If Not bEncontrado Then _sError = "[ZIP.DescomprimirCarpeta]" & vbCrLf & "Carpeta (" & Carpeta & ") no Encontrada"
- ' ArchivoZIP = Nothing
- ' Exit Sub
- 'TrataError:
- ' _sError = "[ZIP.DescomprimirCarpeta]" & vbCrLf & Err.Description
- ' End Sub
- Public Sub AgregarArchivo(Archivo As String)
- On Error GoTo TrataError
- obZIP.AddFile(Archivo, "")
- Exit Sub
- TrataError:
- _sError = "[ZIP.AgregarArchivo]" & vbCrLf & Err.Description
- End Sub
- Public Sub AgregarCarpeta(Carpeta As String, RutaCarpeta As String)
- On Error GoTo TrataError
- obZIP.AddDirectory(Carpeta, RutaCarpeta)
- Exit Sub
- TrataError:
- _sError = "[ZIP.AgregarArchivo]" & vbCrLf & Err.Description
- End Sub
- Public Sub Guardar()
- On Error GoTo TrataError
- obZIP.Save(_RutaFic)
- Exit Sub
- TrataError:
- _sError = "[ZIP.Guardar]" & vbCrLf & Err.Description
- End Sub
- ' Public Sub Reiniciar()
- ' On Error GoTo TrataError
- ' ZipFile.Read(_RutaFic)
- ' For Each item In obZIP
- ' obZIP.RemoveEntry(item)
- ' Next
- ' Exit Sub
- 'TrataError:
- ' _sError = "[ZIP.Reiniciar]" & vbCrLf & Err.Description
- ' End Sub
- #End Region
- End Class
Advertisement
Add Comment
Please, Sign In to add comment