On Mon, Sep 5, 2016 at 4:33 PM, Michael Van Canneyt
<mich...@freepascal.org> wrote:
>
> What is the stream content ? TGZFile or simply compressed ? If it is
> TGZFile, then the header must be skipped before uncompressing data.

Simply compressed.
The example is using a file, but the real app uses streams in memory.

I can't use TBase64DecodingStream either because it not implements Seek method:

function TBase64DecodingStream.Seek(Offset: Longint; Origin: Word): Longint;
begin
  // TODO: implement Seeking in TBase64DecodingStream
  raise EStreamError.Create('Invalid stream operation');
end;

I'm trying to use like this:

=== begin ===
var
  B: TBase64DecodingStream;
  Src, Dest: TMemoryStream;
begin
  Src := TMemoryStream.Create;
  Dest := TMemoryStream.Create;
  B := 
TBase64DecodingStream.Create(TFileStream.Create('result.txt',fmOpenRead));
  try
    B.SourceOwner:=True;
    Src.CopyFrom(B,0);
    if ZUncompressStream(Src, Dest) then
      Dest.SaveToFile('content2.txt');
  Finally
    Src.Free;
    Dest.Free;
    B.Free;
  end;
=== end ===

So, for now I'll continue using the first solution but I would like to
use FPC sources if possible, in the future.

Regars,
Marcos Douglas
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to