Мне нужно сжать несколько файлов в один архив с помощью Delphi. Я бы предпочел использовать бесплатные компоненты или компоненты с открытым исходным кодом, потому что я очень-очень дешевый :-)
Мои основные требования:
Есть ли у кого-нибудь предложения по компонентам, которые они использовали? Не стесняйтесь предлагать как бесплатные, так и коммерческие компоненты / библиотеки.
Я рассматривал этот метод, но ответы в основном сосредоточены на решениях типа 7-zip. Я также ищу комментарии, которые есть у всех, кто использует эти инструменты.
Преимущество 7-zip в том, что он действительно очень хорошо работает с любым ZIP-файлом, который вы когда-либо использовали. Другие компоненты обычно работают нормально с наиболее ZIP.
еще одно преимущество - 7-zip лучше справляется с сжатием файла - файлы 7z как минимум на 30% меньше, чем zip-файл.
Что такое версия Delphi?
Плюс 1 за то, что "очень-очень дешево" !!





Возможно, вы ищете DelphiZip, похоже, он тоже поддерживает шифрование и совместим с WinZip. Он выпущен под LGPL.
DelphiZip требует отдельных DLL
Есть информационные архивы zip32 и unzip32 dll. Их можно использовать из Delphi (даже из Visual Basic), для обоих есть интерфейсные блоки / модули. Интерфейс не так хорош, как хотелось бы, но работает.
Вы можете использовать привязки 7zip (LZMA) для Pascal (совместимые с Delphi): http://www.birtles.org.uk/programming/
Я рекомендую ZipForge за 69 долларов от ComponentAce.
Еще один ресурс Delphi, на который стоит обратить внимание, - это InnoSetup. Исходный код доступен, и немного поработав, вы сможете лучше понять, что вы пытаетесь сделать. Есть возможность создавать самораспаковывающиеся zip-архивы, совместимые с WinZip,
Я не думаю об использовании программы, а о том, чтобы использовать его исходный код в качестве отправной точки, поскольку он очень тщательно протестирован и чрезвычайно надежен.
Я использую madZip от madCollection
Я даже не знал об этом. Хороший!
Я удивлен, что никто еще не упомянул JclCompression - это часть известной библиотеки кодов джедаев (JCL). Вот вид самого устройства: http://jcl.svn.sourceforge.net/viewvc/jcl/trunk/jcl/source/common/JclCompression.pas?view=markup
Обратите внимание, он совместим с 7-zip DLL версии 4.64 - более новые версии могут быть несовместимы с предыдущими версиями ...
KaZip - архиватор ZIP с открытым исходным кодом. Вот его описание:
KAZIP is fast, simple ZIP archiver and dearchiver which uses most popular ZIP format.Inflate - Deflate zip compression format (no encryption support and no multidisk support).KAZip is totaly based on Delphi VCL - no DLL, ActiveX or other external libraries.KAZip is totaly stream oriented so you can deal with data only in memory without creating temporary files, etc. If you need to add zip-unzip functionality to your application,KAZIP is the right solution. Additional ZipListView and ZipTreeView components for easy visualisation.Functionality:Zip-Unzip using Inflate-DeflateBZip2 unzipping trough usage of BZIP2 units from Edison Mera Menndez.Functions:Adding Files, Folders, Streams; Selecting, Deselecting, Checking;Extracting to files and streams;Delete and Rename filesCreate, Delete and Rename foldersTest, RepairMany new properties and methods, improved speed.A very complex Zip Browser demo application is included
Он еще не совместим с Delphi 2009, но с некоторыми незначительными изменениями в исходном коде вы можете заставить его работать и в Delphi 2009. Собственно, я так и сделал.
С Уважением
Вы смотрели ответы на этот вопрос?