Thema: Entzippen 7za

Einzelnen Beitrag anzeigen

LuCSteR

Registriert seit: 16. Sep 2005
168 Beiträge
 
#1

Entzippen 7za

  Alt 15. Jan 2009, 11:17
Hi,

hab die untenstehende Prozedur aus dem Forum gefunden um Dateien zu entzippen. In dem Beitrag stand auch, das sie funktionieren würde. Tut sie bei mir aber nicht.
Ich verstehe nicht ganz die beiden Übergabeparameter. 1.zu entzippende Datei(Pfad) 2.entzippte Datei(Pfad)...Er legt halt wirklich nur eine Datei an. War entpackt er die Datei(en) nicht automatisch in einen Ordner? Ist doch klar das Dateien nicht in eine andere Datei entzippt werden können. Wie untenstehend habe ich die Dateiendung weggelassen, in der Hoffnung das ein Ordner anstatt einer DAtei erstellt wird. Aber klappt nicht.

Uses
{$IFDEF FPC}zstream{$ELSE}ZLib{$ENDIF} Prozedur
Delphi-Quellcode:
procedure Decompress(InputFileName, OutputFileName: string);
var InputStream, OutputStream: TFileStream;
  DeCompressionStream: TDeCompressionStream;
  Buf: array[0..4095] of Byte;
  Count: Integer;
begin
  InputStream:=TFileStream.Create(InputFileName, fmOpenRead);
  try
    OutputStream:=TFileStream.Create(OutputFileName, fmCreate);
    try
      DecompressionStream := TDecompressionStream.Create(InputStream);
      try
        while true do
        begin
          Count := DecompressionStream.Read(Buf[0], SizeOf(Buf));
          if Count = 0 then
            break
          else
            OutputStream.Write(Buf[0], Count);
        end;
      finally
        DecompressionStream.Free;
      end;
    finally
      OutputStream.Free;
    end;
  finally
    InputStream.Free;
  end;
end;
Aufruf
Decompress(TempDownloadDir+IP+'\'+Form1.ListBox3.Items[i], TempDownloadDir+IP+'\'+SubStr{+'.log'});
  Mit Zitat antworten Zitat