Работа с zip-архивами


Работа с zip-архивами с помощью UtilZip.dll. Лично мной использовалось для работы с файлами обмена МОД.

Пример использования UtilZip.dll в 1С.

VARIANT_BOOL Open(BSTR archive)

Открывает архивный файл с именем archive. Возвращает TRUE - и существует такой файл и он верного формата. FALSE - создан новый файл.

Close(Variant_BOOL execute=TRUE)

Закрывает архивный файл и выполняет. При значении execute=TRUE, выполняются все операции добавления, удаления и извлечения файлов, иначе эти операции не выполняются.

Execute(Variant_BOOL refreshEntries = FALSE)

Выполняет операции добавления, удаления и извлечения файлов. При refreshEntries=TRUE, обновляется коллекция файлов в архиве entries.

AddFile(BSTR filename)

Добавляет в архив файл filename. Реальное добавление будет выполнено при вызове Execute или Close.

ExtractFile(VARIANT item)

Извлекает файл из архива в директорию ExtractDirectory. Значение item может быть числом или строкой. Если item число, то мы извлекаем файл с таким номером из коллекции entries. Если item строка, то мы извлекаем файл с таким именем. Реальное извлечение будет выполнено при вызове Execute или Close.

DeleteFile(VARIANT item)

Удаляем файл из архива. Значение item то же, что и в ExtractFile. Реальное удаление будет выполнено при вызове Execute или Close.

IZipEntries Entries[R]

Коллекция файлов, находящихся в архиве. Описание работы с коллекцией смотрите ниже. Возвращает объект из коллекции файлов IZipEntries.

BSTR Name[R]

Наименование файла архива.

BSTR Comment [RW]

Комментарий к файлу архива. Комментарий можно получить и установить. Реальная установка комментария происходит при добавлении или удалении файла.

BSTR ExtractDirectory [RW]

Директория для извлеченных файлов. По умолчанию устанавливаются Temp директория Windows.

VARIANT_BOOL Overwrite [RW]

Переписывать ли существующий файл при извлечении из архива. TRUE - переписывать не спрашивая разрешения. FALSE - спрашивать позволения.

VARIANT_BOOL Recurse [RW]

углубляться ли в поддиректории при добавлении файлов. TRUE - углубляться, FALSE - нет. По умолчанию - TRUE.

VARIANT_BOOL SavePath [RW]

Сохранять ли полный путь к файлу (TRUE) или только имя файла (FALSE). По умолчанию TRUE.

Файлы обработки:

-