Zip-Datei ohne externe Tools entpacken.

    • VB.NET
      Istn Bissl spät, aber naja.
      Bei mir erstellt er nur den Ordner und entpackt nicht.

      VB.NET-Quellcode

      1. Dim cu As New ClassUnzip("update.zip", Path.Combine(Path.GetDirectoryName("update.zip"), "Update"))
      2. cu.UnzipNow()

      "http://forums.macrumors.com/showpost.php?s=9e0078570b2b62fd044cc1b13d212b09&p=4777525&postcount=1064" schrieb:

      When talking about how apple cannot influence the future of computers, you also forgot to mention that the internet was created on a network of macs to start with. Thats why every online PeeCee has a MAC code. Even my PSP needs a MAC code to get online....
      ~2000€ für nen brauchbaren Mac sind imho 2100€ zu viel. - SamusTyp
      Ich bekomme eine Warnung :

      Der in Imports "Shell32" angegebene Namespace oder Typ enthält keine öffentlichen Member oder kann nicht gefunden werden. Stellen Sie sicher, dass der Namespace oder der Typ definiert ist und mindestens einen öffentlichen Member enthält und dass der importierte Elementname keine weiteren Aliase enthält.
      und 2 Fehler:

      Der Typ "Shell32.IShellDispatch2" ist nicht definiert.


      Der Typ "Shell32.Folder" ist nicht definiert.


      Kann mir da wer helfen ?
      :D danke es geht... *vorn kopf hau*

      gibts dabei zufällignoch ne möglichkeit wie man den Dateinamen der grade entpackt wird (nicht den der zip file sondern der datei die da drin gepackt ist und jetz grade ausgepackt wird) in einem Label anzuzeigen ?

      viperkill schrieb:

      :D danke es geht... *vorn kopf hau*

      gibts dabei zufällignoch ne möglichkeit wie man den Dateinamen der grade entpackt wird (nicht den der zip file sondern der datei die da drin gepackt ist und jetz grade ausgepackt wird) in einem Label anzuzeigen ?
      Würd mich auch interessieren.
      FTPLib 2.1.0.0 - Einfacher Zugriff auf FTP-Server ** TextEffectsLib - Schöne Effekte für TextBox und Label ** ExtendedListView

      Mit System.IO.Compression ...

      VB.NET-Quellcode

      1. Public Sub compression()
      2. 'QuellDatei lesen
      3. Dim QuellDatei As String = My.Computer.FileSystem.CurrentDirectory & "\informationen.txt"
      4. Dim Stream As New IO.FileStream(QuellDatei, IO.FileMode.Open)
      5. Dim FileBytes(Stream.Length - 1) As Byte Stream.Read(FileBytes, 0, FileBytes.Length)
      6. Stream.Close() 'Neue komprimierte Datei erstellen
      7. Dim ZielDatei As String = My.Computer.FileSystem.CurrentDirectory & "\informationen.zip"
      8. Dim StreamWrite As New IO.FileStream(ZielDatei, IO.FileMode.Create)
      9. Dim CompressStream As New IO.Compression.GZipStream(StreamWrite, IO.Compression.CompressionMode.Compress)
      10. CompressStream.Write(FileBytes, 0, FileBytes.Length)
      11. CompressStream.Flush()
      12. CompressStream.Close()StreamWrite.Close()
      13. 'Dekomprimieren
      14. Stream = New IO.FileStream(ZielDatei, IO.FileMode.Open)
      15. Dim DecompressStream As New IO.Compression.GZipStream(Stream, IO.Compression.CompressionMode.Decompress)
      16. Dim Reader As New IO.StreamReader(CType(DecompressStream, IO.Stream))
      17. My.Computer.FileSystem.WriteAllText(My.Computer.FileSystem.CurrentDirectory & "\dekomprimierte.txt", Reader.ReadToEnd(), False)
      18. Reader.Close()
      19. Stream.Close()
      20. End Sub


      Der Beitrag ist zwar von 2005 und ich habe es noch nicht getestet, aber müsste hinhauen. :D
      Quelle

      Edit/: Entschuldige nickxx, habe deinen Beitrag nicht gesehen ^^
      :thumbup: :thumbup: Immer schön cool bleiben! :thumbup: :thumbup:


      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „bruno1998“ ()

      gs93 schrieb:

      bruno1998 schrieb:

      Der Beitrag ist zwar von 2005 und ich habe es noch nicht getestet, aber müsste hinhauen. :D
      Wie oft denn noch? VB 2005/08/10 ist nur die IDE. VB.net ist die Programmiersprache.

      Habe ich gesagt
      Der Beitrag ist zwar von 2005, also weiß ich nicht, ob es auch mit VB 2008 klappt.

      oder
      Der Beitrag ist zwar von 2005 und ich habe es noch nicht getestet, aber müsste hinhauen

      ?

      Ich wollte damit nur ausdrücken, dass es sich um einen etwas älteren Beitrag handelt.

      bruno1998
      :thumbup: :thumbup: Immer schön cool bleiben! :thumbup: :thumbup:


      viperkill schrieb:

      Ich bekomme eine Warnung :

      Der in Imports "Shell32" angegebene Namespace oder Typ enthält keine öffentlichen Member oder kann nicht gefunden werden. Stellen Sie sicher, dass der Namespace oder der Typ definiert ist und mindestens einen öffentlichen Member enthält und dass der importierte Elementname keine weiteren Aliase enthält.
      und 2 Fehler:

      Der Typ "Shell32.IShellDispatch2" ist nicht definiert.


      Der Typ "Shell32.Folder" ist nicht definiert.


      Kann mir da wer helfen ?
      Hallo Viperkill,

      die Antwort kommt vielleicht etwas spät, aber vielleicht hilft sie anderen. Habe mich gerade erst hier registriert.

      Diesen Fehler kannst Du sehr einfach beheben, in dem Du den Verweis "Microsoft
      Shell Controls and Automations
      " hinzufügst. Dort ist der Namespace Shell32 enthalten. Vorgehensweise in VB2008:
      • Menü Projekt/Verweis hinzufügen...
      • Es öffnet sich ein Dialogfenster.
      • Dort in den Reiter "COM" und oben genannte Controls auswählen und mit OK bestätigen.
      Schon ist der Fehler verschwunden und der Code lässt sich einwandfrei kompilieren.

      Zum Abschluss noch ein Dank an den Author dieser wunderbaren UnzipClass. :)


      Viele Grüße
      Zalkortis
      hallo,
      ich benutze nur diesen Teil des Codes:

      Quellcode

      1. Dim file As String = "C:\Program Files\testzip.zip"
      2. Dim cu As New ClassUnzip(file, Path.Combine(Path.GetDirectoryName(file), "C:\test_unzip_folder"))
      3. AddHandler cu.UnzipFinishd, AddressOf Unziped
      4. cu.UnzipNow()


      und ich bekomme den Fehler:
      "der name Unziped wurde nicht deklariert"

      was läuft da schief???
      (habe den verweis auf die shell32.dll erstellt und die entsprechende Klasse eingefügt)
      Ich hab das Problem, dass das Script zwar den Ordner erstellt, aber nicht entpackt?
      Shell32 ist dran, ja.

      Mein Aufruf:

      VB.NET-Quellcode

      1. Dim cu As New ClassUnzip("Latest.zip", Path.Combine(Path.GetDirectoryName("Latest.zip"), Application.StartupPath))
      2. AddHandler cu.UnzipFinishd, AddressOf Unziped
      3. cu.UnzipNow()
      Gruß,
      solar22

      Meine Projekte:
      Moon!ight
      solardorf - willkommen zu hause
      Shopverwaltung (not public, im pack mit Shop Plugin für Moon!ight)
      Jetzt mal ´ne Frage:

      Wie kann ich prüfen ob das Zip-File entpackt ist sodass ich weiterarbeiten kann mit einer anderen Funktion?

      EDIT:

      Hab schon ;)
      Hatte nicht darauf geachtet dass der Public Sub Unzipped ja dazu dient das ganze weiterzuführen ;)

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Florian“ () aus folgendem Grund: Gelöst

      Funktioniert wunderbar, dankeschön! Gibt es auch eine Möglichkeit mit Visual Basic Dateien zu packen?

      Hat sich geklärt, Google hilft!
      Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen.


      Albert Einstein (1879 - 1955)

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Bread“ ()