Hallo zusammen,
ich wähle einen Ordner über BrowseFolder aus und möchte diesen als Zip packen. ich verwende eine geladene DLL und zwar die ..
ICSharpCode.SharpZipLib
Das funktioniert soweit auch mit diesem Quellcode
Das Archiv erstellt er problemlos ... nun würde ich gern eine andere methode zum entpacken nehmen ...
und zwar die Anleitung von mikeb69 --> [VB.NET] Zip-Datei ohne externe Tools entpacken.?
Er erstellt zwar einen Ordner aber ohne inhalt ... die klasse ist unverändert ... daher schreib ich sie hier mal nicht rein
Einen festgelegten Ort zu nehmen oder auch Try-catch hat leider mir nicht geholfen ...
ich wähle einen Ordner über BrowseFolder aus und möchte diesen als Zip packen. ich verwende eine geladene DLL und zwar die ..
ICSharpCode.SharpZipLib
Das funktioniert soweit auch mit diesem Quellcode
Quellcode
- Private Sub BtnBrowseForFolderClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBrowseForFolder.Click
- If FolderBrowserDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
- txtSourceDir.Text = FolderBrowserDialog1.SelectedPath
- End If
- End Sub
- Private Sub btnZipIt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnZipIt.Click
- Dim sourceDir As String = txtSourceDir.Text.Trim()
- Dim path As String
- path = txtSourceDir.Text & " Archiv.zip "
- If sourceDir.Length = 0 Then
- MsgBox("Bitte einen Ordner auswählen", MsgBoxStyle.Critical)
- Return
- Else
- If Not Directory.Exists(sourceDir) Then
- MsgBox("Das ausgewählte Verzeichnis exsistiert nicht", MsgBoxStyle.Critical)
- Return
- End If
- End If
- Dim astrFileNames() As String = Directory.GetFiles(sourceDir)
- Dim strmZipOutputStream As ZipOutputStream
- strmZipOutputStream = New ZipOutputStream(file.Create(path))
- Try
- ' Krompimierungslevel Level: 0-9
- ' 0: keine Komprimierung
- ' 9: Maximale Komprimierung
- strmZipOutputStream.SetLevel(9)
- Dim strFile As String
- Dim abyBuffer(4096) As Byte
- For Each strFile In astrFileNames
- Dim strmFile As FileStream = file.OpenRead(strFile)
- Try
- Dim objZipEntry As ZipEntry = New ZipEntry(strFile)
- objZipEntry.DateTime = DateTime.Now
- objZipEntry.Size = strmFile.Length
- strmZipOutputStream.PutNextEntry(objZipEntry)
- StreamUtils.Copy(strmFile, strmZipOutputStream, abyBuffer)
- Finally
- strmFile.Close()
- End Try
- Next
- strmZipOutputStream.Finish()
- Finally
- strmZipOutputStream.Close()
- End Try
- MsgBox("Das Archiv wurde erstellt")
- End Sub
Das Archiv erstellt er problemlos ... nun würde ich gern eine andere methode zum entpacken nehmen ...
und zwar die Anleitung von mikeb69 --> [VB.NET] Zip-Datei ohne externe Tools entpacken.?
Er erstellt zwar einen Ordner aber ohne inhalt ... die klasse ist unverändert ... daher schreib ich sie hier mal nicht rein
Quellcode
- Private Sub btnBrowseFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBrowseFile.Click
- Using ofd As New OpenFileDialog
- With ofd
- .FileName = String.Empty
- .Filter = "ZipFile|*.zip"
- If ofd.ShowDialog = Windows.Forms.DialogResult.OK Then
- TextBox1.Text = .FileName
- files = ofd.FileName
- End If
- End With
- End Using
- End Sub
- Private Sub btnUnZip_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUnZip.Click
- Dim cu As New ClassUnzip(files, Path.Combine(Path.GetDirectoryName(files), "test_unzip_folder"))
- AddHandler cu.UnzipFinishd, AddressOf Unziped
- cu.UnzipNow()
- End Sub
- Private Sub Unziped()
- MessageBox.Show("fertig")
- End Sub
Einen festgelegten Ort zu nehmen oder auch Try-catch hat leider mir nicht geholfen ...
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Gerry671“ ()