UncompressPackFile()
Syntax
Result = UncompressPackFile(#Pack, Filename$ [, PackedFilename$])Description
Uncompress into the specified filename from the current pack entry being examined with ExaminePack() and NextPackEntry(). If the filename already exists, it will erased and replaced with the new uncompressed data.
Parameters
#Pack The pack to use. Filename$ The filename to uncompress the current pack entry. PackedFilename$ (optional) The packed filename entry to uncompress. If this parameter is not specified, the current entry being examined with ExaminePack() and NextPackEntry() is uncompressed.
Return value
Return the uncompressed size if the pack entry has been successfully uncompressed into the filename, -1 otherwise.
Example
UseZipPacker()
Path$ = #PB_Compiler_Home + "examples/sources/Data/" ; path to the PureBasic examples data/media files
PackFile$ = GetTemporaryDirectory() + "PureBasicTest.zip" ; path to the pack file which should be created and opened later
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 "PackFile successfully created: " + PackFile$
Else
Debug "Error creating the pack file!"
EndIf
Path$ = GetTemporaryDirectory() + "PureBasicTest/" ; path to a directory into which the pack files should be extracted
If OpenPack(0, PackFile$)
If CreateDirectory(Path$) Or FileSize(Path$) = -2
If ExaminePack(0)
Debug "Extracting archive into: " + Path$
While NextPackEntry(0)
Debug " - name: " + PackEntryName(0) + ", size: " + PackEntrySize(0)
If UncompressPackFile(0, Path$ + PackEntryName(0), PackEntryName(0)) = -1
Debug "Error: unsuccessful unpacking of file: " + PackEntryName(0)
EndIf
Wend
EndIf
ClosePack(0)
RunProgram(Path$) ; open the directory with the unpacked files
Else
Debug "Error while creating the folder '" + Path$ + "' to unpack the archive contents!"
EndIf
Else
Debug "Error opening the pack file!"
EndIf
For another example see AddPackFile().
See Also
OpenPack(), CatchPack(), ExaminePack(), NextPackEntry()
Supported OS
All