Как мне сжать несколько файлов в один архив с Delphi - PullRequest
11 голосов
/ 30 декабря 2008

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

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

  1. Возможно зашифровать архив
  2. Может создавать общие архивы, которые могут быть открыты кем угодно с помощью копии WinZip

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

Ответы [ 8 ]

8 голосов
/ 30 декабря 2008

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

4 голосов
/ 08 января 2009

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

KAZIP - быстрый, простой архиватор ZIP и dearchiver, который использует самый популярный ZIP format.Inflate - выкачать zip формат сжатия (без шифрования поддержка и нет мультидиска поддержка) .Kazip полностью основан на Delphi VCL - без DLL, ActiveX или других внешние библиотеки .Kazip ориентированный на поток, так что вы можете иметь дело с данные только в памяти без создания временные файлы и т. д. Если вам нужно добавить функциональность zip-unzip к вашему приложение, KAZIP является правильным решение. Дополнительный ZipListView и Компоненты ZipTreeView для легкого visualisation.Functionality: Zip-Разархивируйте с помощью Inflate-DeflateBZip2 распаковка через использование блоков BZIP2 из Эдисон Мера Мендес. Функции: Добавление Файлы, папки, потоки; Выбор, Отмена выбора, проверка; извлечение в файлы и потоки; Удалить и переименовать файлыСоздание, удаление и переименование папкиTest, RepairMany новые свойства и методы, улучшенная скорость. Очень сложное демонстрационное приложение Zip Browser включено

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

Привет

3 голосов
/ 06 января 2009

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

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

3 голосов
/ 01 января 2009

Я использую madZip из madCollection

3 голосов
/ 30 декабря 2008

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

2 голосов
/ 30 декабря 2008

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

Я думаю не о том, чтобы использовать программу, а о том, чтобы использовать ее источник в качестве отправной точки, поскольку она очень тщательно проверена и чрезвычайно надежна.

2 голосов
/ 30 декабря 2008

Вы можете использовать привязки 7zip (LZMA) для Pascal (совместимо с Delphi): http://www.birtles.org.uk/programming/

1 голос
/ 30 декабря 2008

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

...