UncompressPackFile()

Syntax

Ergebnis = UncompressPackFile(#Pack, Dateiname$ [, GepackterDateiname$])
Beschreibung
Entpackt aus dem aktuell mit ExaminePack() und NextPackEntry() untersuchten Paket-Eintrag in den angegebenen Dateinamen. Wenn der Dateiname bereits existiert, wird er gelöscht und mit den neuen entpackten Daten ersetzt.

Parameter

#Pack Das zu verwendende Paket.
Dateiname$ Der Dateiname, in den der aktuelle Paket-Eintrag entpackt wird.
GepackterDateiname$ (optional) Der Dateiname der komprimierten und jetzt zu entpackenden Datei. Wenn dieser Parameter nicht angegeben wird, dann wird der aktuell mit ExaminePack() und NextPackEntry() untersuchte Eintrag entpackt.

Rückgabewert

Gibt die unkomprimierte Größe zurück, wenn der Paket-Eintrag erfolgreich in den Dateinamen entpackt wurde, andernfalls -1.

Beispiel

  UseZipPacker()
  
  Path$ = "C:/ProgramData/PureBasic/Examples/Sources/Data/"  ; Pfad zu den PureBasic Examples Daten/Media Dateien
  PackFile$ = "C:/ProgramData/PureBasic/Examples/MyCompressedFiles.zip"  ; Pfad zur Paket-Datei, die erstellt und später geöffnet werden soll
  If CreatePack(0, PackFile$)
    AddPackFile(0, Path$ + "world.png", "world.png")
    AddPackFile(0, Path$ + "test.pref", "test.pref")
    AddPackFile(0, Path$ + "CdPlayer.ico", "CdPlayer.ico")
    AddPackFile(0, Path$ + "Background.bmp", "Background.bmp")
    ClosePack(0)
    Debug "Paket-Datei erfolgreich erstellt: " + PackFile$
  Else
    Debug "Fehler beim Erstellen der Paket-Datei!"
  EndIf
  
  Path$ = "C:/ProgramData/PureBasic/Examples/test_delete/"  ; Pfad zu einem Verzeichnis, in das die Paket-Dateien entpackt werden sollen
  If OpenPack(0, PackFile$)
    If CreateDirectory(Path$) Or FileSize(Path$) = -2
      If ExaminePack(0)
        Debug "Zu entpackender Archiv-Inhalt:"
        While NextPackEntry(0)
          Debug " - Name: " + PackEntryName(0) + ", Größe: " + PackEntrySize(0)
          If UncompressPackFile(0, Path$ + PackEntryName(0), PackEntryName(0)) = -1
            Debug "Fehler beim Entpacken der Datei: " + PackEntryName(0)
          EndIf
        Wend
      EndIf
      ClosePack(0)
      RunProgram(Path$)  ; Öffnet das Verzeichnis mit den entpackten Dateien
    Else
      Debug "Fehler beim Erstellen des Ordners zum Entpacken des Archiv-Inhalts!"
    EndIf
  Else
    Debug "Fehler beim Öffnen der Paket-Datei!"
  EndIf
Für ein weiteres Beispiel siehe AddPackFile().

Siehe auch

OpenPack(), ExaminePack(), NextPackEntry()

Unterstützte OS

Alle

<- UncompressMemory() - Packer Inhaltsverzeichnis - UncompressPackMemory() ->