Вопрос № 52520: Добрый день, уважаемые Эксперты!
Имеется папка. В папке файлы. Нужно эту папку со всем содержимым сжать в архив. Подскажите как это реализовать желательно не пребегая к сторонним компонентам. Желательно с примером. Спасибо....
Вопрос № 52.520
Добрый день, уважаемые Эксперты!
Имеется папка. В папке файлы. Нужно эту папку со всем содержимым сжать в архив. Подскажите как это реализовать желательно не пребегая к сторонним компонентам. Желательно с примером. Спасибо.
Отвечает: Татьяна
Здравствуйте, Дмитрий Александрович!
Могу посоветовать неплохой исходник, он достаточно прост в использовании и легко подключается к проекту
http://www.torry.net/discuss.php?id=9584
А если вам необходима конкретно теоретическая информация, можете посмотреть тут:
http://www.compression.ru/book/part2/part2__2.htm
Несмотря на то, что книга посвящена сжатию изображений, сжатие без потерь применяется для произвольных файлов
Удачи
--------- Возможно все. И ничего возможно тоже.
Ответ отправила: Татьяна (статус: Студент)
Ответ отправлен: 18.08.2006, 17:38
Отвечает: Morgen_krsk
Здравствуйте, Дмитрий Александрович!
Что значит, не прибегая к посторонним компонентам? Не используя компоненты для Delphi от сторонних производителей? Не используя ПО сторонних производителей (rar, zip)? Или хотите написать свой алгоритм сжатия (есть целая теория ...)
Самый простой способ вызвать исполняемый файл какого-нибудь архиватора передав в командой строке нужные параметры. Функция ниже, смысл параметров ясен из их названия, параметры командой строки rar, zip можно узнать просто запустив их без параметров
HINSTANCE ShellExecute(HWND hwnd,
LPCTSTR lpOperation,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
);
P.S. Можно так же использовать классы оболочки, компоненты для различных dll к архиваторам, типа 7zip.dll и т.п.
Ответ отправил: Morgen_krsk (статус: 2-ой класс)
Ответ отправлен: 18.08.2006, 17:56