ZIP архив создать программно как ? |
Здравствуйте, гость ( Вход | Регистрация )
ZIP архив создать программно как ? |
flankerr |
9.10.2009, 10:13
Сообщение
#1
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
Есть некий набор данных который создаёт программа. Надо их опяттаки программно сжать в ZIP и сохранить. Разумеется хочется чтоб была возможность следить за процеесом для возможности информировать сколько осталось время до конца сжатия. Всякие вызовы сторонних EXE отметаються сразу. Ну и кросплатформенность ни кто не отменял.
Может кто в курсе как это организовать ? |
|
|
Litkevich Yuriy |
9.10.2009, 11:01
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
помоему на прогорге это обширно обсуждалось. Можно сюда глянуть
Вот чего накопал по этой теме: zlib (та что с Qt) - только методы сжатия данных. QuaZIP - не поддерживает подкаталоги Info-Zip - нет информации (надо разбиратся) zziplib - нет информации (надо разбиратся) Могут оказатся полезными: Self-Extracting Installer The OSDaB Project - какие-то фрагменты кода на C++/Qt, в том числе Zip |
|
|
sploid |
9.10.2009, 12:11
Сообщение
#3
|
Студент Группа: Участник Сообщений: 51 Регистрация: 26.2.2008 Из: Москва Пользователь №: 106 Спасибо сказали: 10 раз(а) Репутация: 1 |
у тролей есть zlib как 3rdparty
src/3rdparty/zlib/ http://qt.nokia.com/doc/4.5/3rdparty.html#...y-version-1-2-3 |
|
|
flankerr |
9.10.2009, 12:34
Сообщение
#4
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
Если как сжать набор байт стало относительно понятно.
Но вот как сделать прогесбар пока не ясно. Вызвать тот же qCompress и тупо ждать неизвестно сколько пока он сжимает как то совсем мимо цели Т.к. процесс сжатия может занять достаточно длительное время то прогрессбар просто обязан быть. Да и что делать для сжать папки с вложенными папками и файлами тоже не ясно. Городить огород с собственным форматом выходного файла нельзя т.к. необходимо чтобы результат сжатия можно было распаковатть классическим ZIP-ом. Сообщение отредактировал flankerr - 9.10.2009, 12:35 |
|
|
kwisp |
9.10.2009, 13:53
Сообщение
#5
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
flankerr,
что ни одно из предоложенных решений Юрием не предоставляет возможности сжимать вложенные паки? и никак не прикрутишь прогрессБар? |
|
|
Litkevich Yuriy |
9.10.2009, 15:52
Сообщение
#6
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
flankerr |
9.10.2009, 16:20
Сообщение
#7
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
kwisp,
QuaZIP Zlib qCompress жмут поток т.е. папку с вложением подсунуть нельзя. И как правильно сказал Litkevich Yuriy, нет обратной связи. |
|
|
Litkevich Yuriy |
9.10.2009, 16:36
Сообщение
#8
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
flankerr, видимо у тебя один выход - заниматся раскопками ОпенСорсных проектов типа 7Zip...
|
|
|
SABROG |
9.10.2009, 17:11
Сообщение
#9
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
flankerr, видимо у тебя один выход - заниматся раскопками ОпенСорсных проектов типа 7Zip... Бессмысленно. Мои копания привели к тому, что разработчики предоставляют библиотеку только для создания 7z архивов, ни zip, ни rar и т.п. |
|
|
Litkevich Yuriy |
9.10.2009, 18:28
Сообщение
#10
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Однако исодники у них открыты, или я ошибаюсь?
|
|
|
Текстовая версия | Сейчас: 11.12.2024, 19:01 |