использую компонент sevenzip.
процедура распаковки выглядит так
Код:
function ProgressCallback(sender: Pointer; total: boolean; value: int64): HRESULT; stdcall;
begin
if total then
form1.ProgressBar1.Max := value else
form1.ProgressBar1.Position := value;
Result := S_OK;
end;
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
arhives:tstringlist;
begin
arhives.create;
arhives.add:='test.7z';
arhives.add:='test2.7z';
with CreateInArchive(CLSID_CFormat7z) do
for i:=0 to archives.count=-1 do
begin
OpenFile(arhives[i]);
SetProgressCallback(nil, ProgressCallback);
ExtractTo('c:\1');
end;
end;
как сделать обший прогресс бар на все архивы и как сделать лабел с именем извлекаемого файла ?