Код:
var
ms, ms2: TMemoryStream;
zs: TCompressionStream;
begin
ms := TMemoryStream.Create;
ms2 := TMemoryStream.Create;
// zs := TCompressionStream.Create(ms2, zcMax);
try
ms.LoadFromFile('чото-там');
// zs.CopyFrom(ms, ms.Size);
ms2.Size := 1024*1024*10;
ms2.Size := lzocompress(Byte(ms.Memory^), Byte(ms2.Memory^), ms.Size);
ms2.SaveToFile('C:\qqq.lz');
finally
ms2.Free;
ms.Free;
end;
Думаю дальше разберешься как что делать.
кстати, zLib уделывает этот алгоритм по степени сжатия, но проигрывает в скорости.
LZO - 634 КБ (649 747 байт)
zLib - 448 КБ (458 752 байт)