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

StackOverflow https://stackoverflow.com/questions/400627

  •  03-07-2019
  •  | 
  •  

Вопрос

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

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

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

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

Это было полезно?

Решение

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

Другие советы

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

Kazip - это быстрый, простой zip archiver и dearchiver, который использует наиболее популярный формат zip.inflate - Дефлятный формат сжатия Zip (без поддержки шифрования и без поддержки многопрофильного Нет DLL, ActiveX или других внешних библиотек.Kazip ориентирован на общий поток, поэтому вы можете иметь дело с данными только в памяти без создания временных файлов и т. Д.Если вам нужно добавить в ваше приложение функциональность Zip-Unzip, Kazip является правильным решением.Дополнительные компоненты ZiplistView и ZiptreeView для легкой визуализации. Функциональность: Zip-Unzip с использованием Inflate-DeflateBzip2 Unzicing Использование единиц BZIP2 от Edison Mera Menndez.functions: добавление файлов, папки, потоки;Выбор, отбросить, проверять; извлечение в файлы и потоки; удаление и переименование файлов critee, удаление и переименование папоток, Repair Many Новые свойства и методы, улучшенная скорость. Очень сложное демонстрационное приложение Zip Browser включено

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

С уважением

я использую madZip от madCollection

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

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

Я рекомендую 69 долларов ZipForge из КомпонентАсе.

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top