7Zip - "чёрт ногу сломит"
От: Nikolaz Германия www.nikeware.com
Дата: 05.05.16 17:06
Оценка: +1
Всем доброго дня!

Прикручиваю вот с собственному приложению (C++) поддержку 7Zip, используя 7z.dll.
На сайте разработчика нормальной документации на всё это дело нет (её вообще просто нет).
Думал в исходниках есть более внятное описание, что и как "готовить". Но там ...

Вообще пребываю сейчас в ступоре от нагромождения всяких интерфейсов в стиле COM.
Задача добавить файл в существующий архив превратилась в кошмар

Автор советует изучать исходники того же 7Zip File Manager, но я блин при "погружении"
в стек на уровней 20 уже просто теряю "нить разговора"
"Вычленить" из этих примеров то, что тебе нужно, крайне трудно к сожалению .

Нашел пример Client7z, но там только добавление в новый архив,
а как добавить в существующий не нашел.

Может у кого есть пример как это делается?

p.s. Да, работаю с zip-архивами.

Спасибо.
7zip
Re: 7Zip - "чёрт ногу сломит"
От: kov_serg Россия  
Дата: 05.05.16 21:36
Оценка:
Здравствуйте, Nikolaz, Вы писали:

N>Прикручиваю вот с собственному приложению (C++) поддержку 7Zip, используя 7z.dll.

N>На сайте разработчика нормальной документации на всё это дело нет (её вообще просто нет).
N>Думал в исходниках есть более внятное описание, что и как "готовить". Но там ...

N>Вообще пребываю сейчас в ступоре от нагромождения всяких интерфейсов в стиле COM.

N>Задача добавить файл в существующий архив превратилась в кошмар

N>Автор советует изучать исходники того же 7Zip File Manager, но я блин при "погружении"

N>в стек на уровней 20 уже просто теряю "нить разговора"
N>"Вычленить" из этих примеров то, что тебе нужно, крайне трудно к сожалению .

N>Нашел пример Client7z, но там только добавление в новый архив,

N>а как добавить в существующий не нашел.

CPP/7zip/UI/Console/Main.cpp:566 и ниже

ну и CPP/7zip/UI/Common/Update.h:187

Пример писать лень.
Re: 7Zip - "чёрт ногу сломит"
От: Alexander G Украина  
Дата: 06.05.16 16:03
Оценка:
Здравствуйте, Nikolaz, Вы писали:


N>p.s. Да, работаю с zip-архивами.


именно с zip? зачем тогда 7zip?
Русский военный корабль идёт ко дну!
Re[2]: 7Zip - "чёрт ногу сломит"
От: Nikolaz Германия www.nikeware.com
Дата: 06.05.16 19:52
Оценка:
Здравствуйте, Alexander G, Вы писали:

AG>Здравствуйте, Nikolaz, Вы писали:



N>>p.s. Да, работаю с zip-архивами.


AG>именно с zip? зачем тогда 7zip?

открытый, бесплатный ...
Zip пока только для разминки, т.к. проект пока только архивы этого типа поддерживает.
Если получится написать общий код, поддерживающий различные форматы, будет вообще супер!
Re[3]: 7Zip - "чёрт ногу сломит"
От: Alexander G Украина  
Дата: 07.05.16 13:32
Оценка: 1 (1) +2
Здравствуйте, Nikolaz, Вы писали:

AG>>именно с zip? зачем тогда 7zip?

N>открытый, бесплатный ...

Есть другие реализации zip, включая открытые и бесплатные, и с простым API.
minizip — интерфейсы несложные, чисто сишный API.

N>Zip пока только для разминки, т.к. проект пока только архивы этого типа поддерживает.

N>Если получится написать общий код, поддерживающий различные форматы, будет вообще супер!

да, 7zip поддерживает упаковку некоторого множества форматов, но сильно ли надо использовать необычные форматы?
Русский военный корабль идёт ко дну!
Re[4]: 7Zip - "чёрт ногу сломит"
От: Nikolaz Германия www.nikeware.com
Дата: 07.06.16 14:44
Оценка:
Здравствуйте, Alexander G, Вы писали:
N>>Zip пока только для разминки, т.к. проект пока только архивы этого типа поддерживает.
N>>Если получится написать общий код, поддерживающий различные форматы, будет вообще супер!
AG>да, 7zip поддерживает упаковку некоторого множества форматов, но сильно ли надо использовать необычные форматы?
Необычных форматов там действительно много.
Профит мне от 7z в том, что он может открывать в режиме чтения многие "контейнеры", такие как vhd, iso и т.п.

Собственно разобрался я с ним кое как . Весч достаточно гибкая конечно, но отсутствия какой-либо документации на SDK удручает. Была бы нормальная документация, цены бы ему не было .
Совет автора изучать исходники — оно конечно гуд, но есть вещи которые без документации всё равно не "вкурить". Поэтому дальше чем "делай как я по примерам" продвинуться сложно. Хочется понять как всё устроено архитектурно.

Николай
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.