Einzelnen Beitrag anzeigen

Benutzerbild von MSo
MSo

Registriert seit: 22. Jun 2010
Ort: DD
10 Beiträge
 
Delphi XE3 Starter
 
#17

AW: XE2: gzip-Datei mittels System.ZLib dekomprimieren

  Alt 13. Sep 2012, 13:26
Ich habe nach einer Lösung zum Entpacken eines GZ-Archivs gesucht und stieß auf diesen Thread.

Aus einem anderen Forum habe eine Lösung gefunden, die mit der unit zlib super funktioniert:

http://www.mombu.com/programming/pro...it-757071.html

Im Speziellen ist dabei der letzte Beitrag die Lösung.

In meinem Programm sieht die Prozedur dann so aus:

Delphi-Quellcode:
procedure unPackGZFile(aFileName: string);
var
  LInput, LOutput: TFileStream;
  LUnZip: TZDecompressionStream;
begin
  //Unpack
   { Create the Input, Output, and Decompressed streams. }
  LInput := TFileStream.Create(aFileName, fmOpenRead);
  LOutput := TFileStream.Create(ChangeFileExt(aFileName, '.xml'), fmCreate); //in meinem Beispiel ist die entp. Datei ein xml-file
  
LUnZip := TZDecompressionStream.Create(LInput,15+32); // '15+32' macht den Unterschied zwischen data-error und 'juhu'

  { Decompress data. }
  LOutput.CopyFrom(LUnZip, 0);

  { Free the streams. }
  LUnZip.Free;
  LInput.Free;
  LOutput.Free;

end;
P.S.: Verzeihung, dass ich mich wenig professionell ausdrücke, ich dachte aber, ich teile meine Entdeckung einfach mal hier, wo ich hier doch auch soviel Wissen bekomme.
  Mit Zitat antworten Zitat