Нужно программно создать архив любого формата из каталога в котором есть еще куча других каталогов с файлами, подскажите как реализовать.
Писать свой архиватор, как же ещё. [File Header] -> dwSign -> dwCompSize -> dwCrc32 [Compressed Data] [File Table] <Entry1> <Entry2> <Entry3> ...
сформировать строку типа: Код (Text): "%ProgramFiles%\7zip\7z.exe" a -tzip archive.zip papka_s_kuchey_filev_i_podpapok и исполнить ее
n0name Что-то на уровне RLE можно быстренько написать Но чтобы степень сжатия была в основном положительной величиной, придётся юзать хотя бы Huffman... Долго возиться - лучше заюзать готовый архиватор.
Не скажи =) Я Хаффмана и RLE одинаково по времени писал. Правда у меня не совсем стандартный RLE =) Я там хранил не 2 байта (один под код, другой под количество повторения), а сжимал до бит. Определял максимальное значение и log2(). supersonic777 Смотря что требуется, если написать простейший архиватор, то можно для примера RLE заюзать, правда всё равно FT надо будет делать.
Проблем в следующем - нужно с удаленного компа передать на другой комп каталог вместе со всем его содержимым сохраняя струкутру директорий.
n0name Похоже на VLC. Для произвольных файлов этот алгоритм не даст никакого выйгрыша в размере. Желательно всё же Huffman + словарик или Burrows-Wheeler + словарик (для любителей экзотики). Остаётся только позавидовать
Угу, я им дерево для Хаффмана сжимал =) Там большое количество нулей, так что сжималось очень даже неплохо, где то раз в 15.