Компрессионный компонент - PullRequest
       10

Компрессионный компонент

5 голосов
/ 16 сентября 2011

Я ищу компонент сжатия, который поддерживает Delphi2010 и позволяет мне выполнять основные операции:

  • создавать .zip архивы
  • извлекать из .zip архивов
  • удалить .zip архивы

Мне также нужно, чтобы компонент был бесплатным для коммерческого использования и, возможно, не использует / не использует библиотеку DLL (я не против, если это так).

До сих пор я изучал ZipForge , FlexCompress , KaZip и UnRAR , но я обнаружил, что мне нужноприобрести лицензию для коммерческого использования ZipForge и FlexCompress.Когда дело дошло до KaZip, в коде были ошибки, поэтому мне не удалось установить компонент.Принимая во внимание, что UnRAR был только этим;он распаковывает только архивы .zip или .rar.

Итак, в общем, мне нужен компонент сжатия, который:

  • бесплатен для коммерческого использования
  • поддерживает Delphi 2010
  • выполняет вышеуказанные операции
  • не использует библиотеки DLL (впрочем, я не против)

Ответы [ 6 ]

8 голосов
/ 16 сентября 2011

Аббревиатура будет служить вашим целям.

3 голосов
/ 16 сентября 2011

Взгляните на этот OpenSource SynZip unit . Это даже быстрее для распаковки, чем модуль по умолчанию, поставляемый с Delphi, и он создаст меньший exe (таблицы crc создаются при запуске).

Чтобы удалить zip-контент, вы можете смешать TZipWriter и TZipReader для копирования только необходимых архивных файлов внутри zip-файла.

Никаких внешних DLL не требуется. Очень маленький код накладных расходов. Работает с Delphi 6 до XE (коротко для XE2).

Я только что сделал некоторые изменения для обработки имен файлов Unicode внутри содержимого Zip, не только для кодировки Win-Ansi, но и для любых символов Unicode.

3 голосов
/ 16 сентября 2011

JCL имеет хороший набор классов сжатия как для файлов (т. Е. Общих форматов архивов), так и для элементов памяти (TStreams) в модуле jclCompression.Для некоторых форматов требуется DLL, используется 7zip.Но это с открытым исходным кодом и бесплатно (MPL / LGPL).

2 голосов
/ 19 сентября 2011

Используем ZipMaster .

Нужна DLL, работает с 2010 года.

1 голос
/ 16 сентября 2011

Существует также этот компонент, построенный вокруг 7zip dll (альфа-стадия, но поддержка D7-D2010):

http://www.rg -software.de / гк / index.php? Вариант = com_content & вид = статьи & ID = 29 & Itemid = 51

0 голосов
/ 16 сентября 2011

Я использовал Zlib и Аббревиатура и очень хорошо работают

...