Delphi-Quellcode:
procedure TForm16.OnZipProgressEvent(Sender: TObject; FileName: string;
Header: TZipHeader; Position: Int64);
begin
if PreviousFilename <> FileName then
begin
StaticText1.Caption := ExtractFileName(FileName);
PreviousFilename := FileName;
ProgressBar1.Position := 0;
end
else
ProgressBar1.Position := (Position * 100) div Header.UncompressedSize ;
Application.ProcessMessages;
end;
Gefunden in 10 Sekunden mit Google mit "ShowZipProgress delphi". Mit etwas mehr Eigeninitiative hättest du dein Problem selbst innerhalb kurzer Zeit lösen können.
Btw. da Befehle nacheinander abgearbeitet werden, ist das Entpacken beendet, wenn
TZipFile.ExtractZipFile('F:\1\Test.zip', 'F:\1\2\', ShowZipProgress);
ausgeführt wurde. Also da nach. Es ist also eindeutig klar, wann das Entpacken fertig ist.