Как сжать несколько файлов в один архив с помощью Delphi

Мне нужно сжать несколько файлов в один архив с помощью Delphi. Я бы предпочел использовать бесплатные компоненты или компоненты с открытым исходным кодом, потому что я очень дешев: -)

Мои основные требования:

  • Можно зашифровать архив
  • Может создавать общие архивы, которые могут быть открыты кем угодно с копией WinZip

Есть ли у кого-нибудь предложения с компонентами, которые они использовали? Пожалуйста, не стесняйтесь предлагать бесплатные, а также коммерческие компоненты/библиотеки.

Ответ 1

Возможно, DelphiZip - это то, что вы ищете, похоже, оно поддерживает шифрование и совместимо с WinZip. Он выпущен под LGPL.

Ответ 2

KaZip - архиватор ZIP с открытым исходным кодом. Вот его описание:

KAZIP - быстрый, простой архиватор ZIP и dearchiver, который использует самый популярный ZIP format.Inflate - Deflate zip формат сжатия (без шифрования поддержка и не мультидиск поддержка).KAZip полностью основан на Delphi VCL - нет DLL, ActiveX или других внешние библиотеки. KAZip totaly ориентированный на поток, чтобы вы могли справиться с данных только в памяти без создания временные файлы и т.д. Если вам нужно добавьте функции zip-unzip к вашему приложение, KAZIP является правильным решение. Дополнительные ZipListView и Компоненты ZipTreeView для visualisation.Functionality: Zip-Разархивируйте Использование Unlate-DeflateBZip2 для распаковки использование BZIP2 единиц из Edison Mera Menndez.Functions: добавление Файлы, папки, потоки; Выбор, Отмена выбора, проверка, извлечение файлы и потоки; Удалить и переименовать filesCreate, Delete и Rename foldersTest, RepairMany новые свойства и методы, улучшенная скорость. Очень комплексное демо-приложение Zip Browser включен

Он еще не совместим с Delphi 2009, но с некоторыми незначительными изменениями в исходном коде вы можете заставить его работать и в Delphi 2009. Собственно, это то, что я сделал.

Привет

Ответ 3

Я рекомендую $69 ZipForge из ComponentAce.

Ответ 5

Я удивлен, что никто еще не упомянул JclCompression - это часть известной Библиотеки кодов джедаев (JCL). Здесь вид самого блока: http://jcl.svn.sourceforge.net/viewvc/jcl/trunk/jcl/source/common/JclCompression.pas?view=markup

Обратите внимание, что он совместим с 7-zip-версией DLL версии 4.64 - более новые версии могут быть не совместимы с обратной записью...

Ответ 7

Есть infozips zip32 и unzip32 dlls. Они могут использоваться из Delphi (даже из Visual Basic), для обоих есть интерфейсные модули/модули. Интерфейс не так хорош, как мне бы хотелось, но он работает.

Ответ 8

Другим ресурсом Delphi, который будет рассмотрен, будет InnoSetup. Исходный код доступен и с небольшой работой может дать вам преимущество в том, что вы пытаетесь сделать. Существует возможность создавать самораспаковывающиеся zip-архивы, совместимые с WinZip,

Мои мысли не использовать эту программу, но использовать исходный код, поскольку он очень сильно тестирован и очень прочен.