PureBasic

UncompressPackFile()

Синтаксис

Result = UncompressPackFile(#Pack , Filename$ [, PackedFilename$])

Описание


Распаковывает и сохраняет как файл с указанным именем текущую запись архива, просматриваемую с помощью ExaminePack() и NextPackEntry(). Если файл с таким именем уже существует, он будет перезаписан новым распакованным файлом.

Параметры

#Pack Номер, идентифицирующий файл архива, текущую запись которого требуется распаковать.
Filename$ Имя файла, используемое для сохранения текущей записи архива, после того как она будет распакована.
PackedFilename$ (дополн.) Имя файла используемое в архиве для идентификации записи, которую требуется распаковать. Если этот параметр не указан, будет распакована текущая запись, просматриваемая с помощью ExaminePack() и NextPackEntry(). Если этот параметр указан, запись с данным именем становится текущей для функции NextPackEntry().

Возвращаемое значение

Возвращает размер распакованных данных, если операция распаковки и записи в файл прошла успешно, в противном случае -1.

Пример

UseZipPacker() ; Регистрирует в программе плагин с поддержкой сжатия Zip...

If CreatePack(0, "c:\mycompressedfiles.zip") ; Создаёт архивный файл                                   
  AddPackFile(0, "c:\1.txt", "1.txt")        ; Здесь замените файлы на свои...
  AddPackFile(0, "c:\2.txt", "2.txt")
  AddPackFile(0, "c:\3.txt", "3.txt")
  ClosePack(0) ; Закрывает созданный архивный файл
EndIf

If OpenPack(0, "c:\mycompressedfiles.zip") ; Открывает файл архива.
  
  If ExaminePack(0) ; Список всех записей...
    UncompressPackFile(0, "c:\2.txt", "2.txt") ; Распаковывает запись с именем "2.txt" и делает её текущей.
    While NextPackEntry(0)                     ; Этот цикл будет действовать от записи следующей за "2.txt"
      Debug "Имя: " + PackEntryName(0) + ", Размер: " + PackEntrySize(0)
    Wend
  EndIf
  ClosePack(0) ; Закрывает открытый архивный файл
EndIf

См. также

OpenPack(), ExaminePack(), NextPackEntry()

Поддерживаемые OS

Все

<- UncompressMemory() - Оглавление Packer - UncompressPackMemory()->