Как сжать несколько файлов в один архив с помощью Delphi
-
03-07-2019 - |
Вопрос
Мне нужно сжать несколько файлов в один архив с помощью Delphi.Я бы предпочел использовать бесплатные компоненты или компоненты с открытым исходным кодом, потому что я очень дешев :-)
Мои основные требования:
- Возможно зашифровать архив
- Может создавать общие архивы, которые может открыть любой, у кого есть копия 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), для обоих есть интерфейсные блоки/модули.Интерфейс не так хорош, как хотелось бы, но работает.