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.