Mazahaka_lab
Принятый Кодер
- Регистрация
- 25 Янв 2017
- Сообщения
- 49
- Баллы
- 50
Всем привет! Есть задача распаковать определённый файл из архива 7zip. Воспользовался модулем (прикрепил к теме).
Использую функцию
И получаю всегда 0 . Ничего не распаковывает. Где я ошибся ?
Использую функцию
Код:
uses
...sevenzip, ...
function SevenZip_ExtractFile(const aInterf: I7zInArchive; const aPath: string; const aSavePath: string): Boolean;
var i, indx: Integer; fs: TFileStream; s1, s2: string;
begin Result := False; indx := -1; for i := 0 to aInterf.NumberOfItems - 1
do begin if (not aInterf.ItemIsFolder[i])
then begin
s1 := LowerCase(Trim((aInterf.ItemPath[i] + aInterf.ItemName[i])));
s2 := LowerCase(Trim(aPath));
if (s1 = s2) then begin
indx := i;
Break;
end; end; end;
if (indx <> -1) then begin
try fs := TFileStream.Create(aSavePath, fmCreate or fmOpenWrite);
try aInterf.ExtractItem(indx, fs, False); Result := True;
finally FreeAndNil(fs); end; except Result := False;
end;
end;
end;
// Пытаюсь распаковать:
procedure TForm1.Button1Click(Sender: TObject);
var Zz: I7zInArchive;
begin Zz:= CreateInArchive(CLSID_CFormat7z);
Zz.OpenFile('C:\hidcon.7z'); if SevenZip_ExtractFile(Zz,'hidcon_x64.exe','C:\3333') then begin caption:='1' end else begin caption:='0' ;
end; end; end.
Вложения
Последнее редактирование: