ZLibCompress
From SCAR Divi Manual
Definition
function ZLibCompress(const Str: AnsiString): AnsiString;
Availability
SCAR Divi 3.31 > Current
Description
Compresses a given string Str using the Zlib compression library. An encoding is often used to convert the compressed data to a "readable" format. A ZLib compressed string can be decompressed with ZLibDecompress.
Example
var Str, Compressed, Encoded: AnsiString; begin Str := 'Lorem ipsum dolor sit amet, consectetur a dipiscing elit. Duis male' + 'suada, lorem ut pellentesque vehicula, urna nibh ultricies eros, ut hend' + 'rerit nisi mauris ut massa. Phasellus sed velit velit. Nullam id nunc nu' + 'lla, tristique dignissim libero. Cras viverra magna quis sapien aliquam ' + 'egestas. Curabitur pellentesque molestie odio, et placerat metus auctor ' + 'id. Mauris auctor euismod turpis sit amet interdum. Nam molestie nunc le' + 'ctus. Maecenas aliquam bibendum ipsum, vel cursus elit tincidunt in. Don' + 'ec metus sapien, egestas in tempor eget, malesuada non leo. Cum sociis n' + 'atoque penatibus et magnis dis parturient montes, nascetur ridiculus mus' + '. In hac habitasse platea dictumst. Mauris vel aliquam enim. Etiam ferme' + 'ntum tincidunt nisl in placerat. Integer congue convallis nisl, ut eleif' + 'end elit dictum quis.'#13#10#13#10 + 'Fusce vitae ultricies lorem. Aenean ultricies pretium massa eget feugiat' + '. Cras at tincidunt ligula. Suspendisse accumsan blandit eros, ac bibend' + 'um sem elementum porttitor. Mauris vel orci eget massa dapibus eleifend ' + 'a ultrices purus. Sed fermentum mi id est pellentesque tincidunt. Duis p' + 'orttitor interdum nunc in pretium. Donec sit amet ipsum vel nulla elemen' + 'tum ullamcorper quis id erat. Pellentesque arcu eros, aliquet porttitor ' + 'molestie ac, pharetra vitae libero. Etiam sed quam mi. Phasellus nec nis' + 'i ac purus ultrices pulvinar sed et quam. Nullam magna nisl, elementum i' + 'n tempus in, gravida eu neque. Sed a leo ipsum. Nulla vulputate ante dol' + 'or. Etiam dapibus aliquam laoreet. Cras pulvinar, augue id interdum laci' + 'nia, turpis nunc euismod arcu, sit amet imperdiet nunc mi in diam.'; WriteLn('Original length: ' + IntToStr(Length(Str))); Compressed := ZLibCompress(Str); WriteLn('Length after compression: ' + IntToStr(Length(Compressed))); Encoded := StrToBase64(Compressed); WriteLn('Length after compression and encoding: ' + IntToStr(Length(Encoded))); end.
Output:
Original length: 1598 Length after compression: 752 Length after compression and encoding: 1004