Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#7

AW: JEDI JCL Compression OnProgress wie verwenden

  Alt 22. Sep 2017, 13:54
Wenn in Value steht, wieviel Byte komprimiert wurden und MaxValue wieviel insgesamt zu komprimieren sind, sich aber beide Werte auf die Gesamtmenge und nicht die einzelne Datei beziehen, dann geht das einfach nicht.

Wenn Du weißt, in welcher Reihenfolge die Dateien komprimiert werden und Du die Größe der einzelnen Dateien weißt, dann kannst Du jeweils ausrechnen, welche Datei gerade "In Mache ist".

Sinngemäß sowas in der Art:
Delphi-Quellcode:
Summe := 0;
for i := 0 to Dateiliste.Count - 1 do begin
  Summe := Summe + Dateiliste[i].Dateigroesse;
  if Summe > Value then begin
    Label1.Caption := Format('zuletzt komprimierte Datei: %s (%d Byte)',[Dateiliste[i - 1].Dateiname,Dateiliste[i - 1].Dateigroesse]);
    Label2.Caption := Format('aktuell wird die Datei %s (%d Byte) komprimiert ...',[Dateiliste[i].Dateiname,Dateiliste[i].Dateigroesse]);
    break;
  end;
end;
Ob das performant und sinnvoll ist, sei erstmal dahingestellt.
  Mit Zitat antworten Zitat