Доступ к готовым решениям

Переход в группу "Пользователь"

300.00
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Delphi Работа с сжатыми файлами

Артур-1

•Веб-разработчик•
Пользователь
Регистрация
25 Май 2013
Сообщения
2,518
Лучшие ответы
2
Репутация
438
Награды
2
В этом уроке мы рассмотрим библиотеку "7z.dll", с её помощью можно распаковывать архивы такого типа:
  • Zip, BZ2, Rar, Arj, Z, Lzh, 7z, Cab, Nsis, Lzma, Pe, Elf, Macho, Udf, Xar, Mub, Hfs, Dmg, Compound, Wim, Iso, Bkf, Chm, Split, Rpm, Deb, Cpio, Tar, GZip
Практически все существующие архивы. Попытаемся распаковать архив типа Zip. Для этого создадим проект и сам архив, назовем его 1.zip и положим рядом с программой.
На форму вытащим кнопочку и напишем в событии OnClick вот такой код:
PHP:
begin
  // Распаковывает файлы 
  with CreateInArchive(CLSID_CFormatZip) do
   begin
     OpenFile(ExtractFilePath(ParamStr(0)) + '1.zip');
     ExtractTo(ExtractFilePath(ParamStr(0)) + '1');
   end;
end;
После, рядом с программой появится папка "1", с содержимым архива. И не забудьте подключить в Uses модуль SevenZip, его вы найдете в конце данного урока.
Также можно создать архив:
PHP:
begin
  // Добавляет файлы 
  with CreateInArchive(CLSID_CFormatZip) do
   begin
	 Arch.AddFile('Имя файла');
	 Arch.SaveToFile('Имя архива');
   end;
Задать уровень сжатия можно функцией SetCompressionLevel(Arch: I7zOutArchive, Level: Integer);. Как видите все просто.
Для работы с другими архивами надо изменить константу CLSID_CFormatZip . Например для .Rar архива, константа будет иметь вид CLSID_CFormatRar, полный список можно увидеть кликнув по константе с зажатым Ctrl.

Удачи!
 
Сверху Снизу