Impossible de décompresser du texte Zlib
Bonjour,
J'ai un petit souci, je n'arrive pas à décompresser du texte.
Auriez vous une petit idée ?
Exemple :
Citation:
Il tombe encore des grêlons,
Mais on sait bien que c'est pour rire.
Quand les nuages se déchirent,
Le ciel écume de rayons.
Le vent caresse les bourgeons
Si longuement qu'il les fait luire.
Il tombe encore des grêlons,
Mais on sait bien que c'est pour rire.
Les fauvettes et les pinsons
Ont tant de choses à se dire
Que dans les jardins en délire
On oublie les premiers bourdons.
Il tombe encore des grêlons …
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| { Compression }
function CompressTxt(Data: String): String;
var
DataInput, DataOutput: TStringStream;
Compress: TZCompressionStream;
begin
Result := EmptyStr;
DataInput := TStringStream.Create(Data);
DataOutput := TStringStream.Create;
try
Compress := TZCompressionStream.Create(DataOutput);
try
Compress.CopyFrom(DataInput, DataInput.Size);
finally
Compress.Free;
end;
Result := DataOutput.DataString;
finally
DataInput.Free;
DataOutput.Free;
end;
end;
{ Décompression }
function DecompressTxt(Data: String): String;
var
DataInput, DataOutput: TStringStream;
Decompress: TZDecompressionStream;
begin
Result := EmptyStr;
DataInput := TStringStream.Create(Data);
DataOutput := TStringStream.Create;
try
Decompress := TZDecompressionStream.Create(DataInput);
try
DataOutput.CopyFrom(Decompress, Decompress.Size);
finally
Decompress.Free;
end;
Result := DataOutput.DataString;
finally
DataInput.Free;
DataOutput.Free;
end;
end; |
Code:
1 2 3 4 5
| procedure TForm1.Button1Click(Sender: TObject);
begin
Memo2.Text := CompressTxt(Memo1.Text);
Memo3.Text := DecompressTxt(Memo2.Text);
end; |
Merci