![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Здравствуйте. Подключил SevenZip, пишу:
Код:
with CreateInArchive(CLSID_CFormatZip) do begin OpenFile(ExtractFilePath(ParamStr(0)) + 'data.zip'); ExtractTo(ExtractFilePath(ParamStr(0)) + 'data'); end; В папке с программой лежат data.zip, data.z01, data.z02 Выдаёт "Не верная функция". Но если взять цельный архив "data.zip" то всё распаковывает. пробовал кидать разные версии 7z.dll, не помогло. Помогите пожалуйста, как многотомные распаковывать? |
|
#2
|
|||
|
|||
|
Вот такой код на stackoverflow.com говорят работает:
Код:
using sevenzip;
procedure Unzip7zFile (zipFullFname:string);
var
outDir:string;
begin
with CreateInArchive(CLSID_CFormat7z) do
begin
OpenFile(zipFullFname);
outDir := ChangeFileExt(zipFullFname, '');
ForceDirectories (outDir);
ExtractTo(outDir);
end;
end; |
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
Stanei (30.05.2018)
| ||
|
#3
|
|||
|
|||
|
Цитата:
тоже самое выдаёт "Не верная функция" |
|
#4
|
|||
|
|||
|
покопавшись, нашёл компонент "ZipForge"
кидаю на форму компонент, пишу Код:
ZipForge1.FileName := ''; // Путь к zip архиву
ZipForge1.OpenArchive; // Чтение содержимого архива
ZipForge1.BaseDir := ''; // Путь распаковки
ZipForge1.ExtractFiles('*.*'); // РаспаковкаРазархивирует и цельные архивы, и многотомные. |