Xojo Developer Conference
25/27th April 2018 in Denver.
MBS Xojo Conference
6/7th September 2018 in Munich, Germany.

Platforms to show: All Mac Windows Linux Cross-Platform

CompressLZWMBS(buf as string) as string
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
global method Compression MBS Compression Plugin 6.3 Yes Yes Yes Yes No
Function: Compresses string using LZW algorithm.
Example:
dim s as string
dim b as BinaryStream
dim f as FolderItem
dim l as Integer

f=SpecialFolder.Desktop.Child("output.tiff")
b=f.OpenAsBinaryFile(false)
s=b.Read(b.Length)
b.Close

l=lenb(s)
s=CompressLZWMBS(s)

f=SpecialFolder.Desktop.Child("output.compressed.tiff")
b=f.CreateBinaryFile("text")
b.Write s
b.Close

s=DecompressLZWMBS(s,l)

f=SpecialFolder.Desktop.Child("output.uncompressed.tiff")
b=f.CreateBinaryFile("text")
b.Write s
b.Close
Notes:
Please remember that the LZW algorithm can be implemented quite different. This one is byte based, uses 12bit offsets and a 4096 entry table.

Returns "" on low memory or Stack Overlow or Output buffer overlow.
(buffer and stack size may be increased on request for future plugin versions)

Some examples using this method:

Feedback, Comments & Corrections

DecompressLZWMBS(buf as string, size as Integer) as string
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
global method Compression MBS Compression Plugin 6.3 Yes Yes Yes Yes No
Function: Decompresses string using LZW algorithm.
Notes:
Please remember that the LZW algorithm can be implemented quite different. This one is byte based, uses 12bit offsets and a 4096 entry table.

Returns "" on low memory or Stack Overlow or Output buffer overlow.
(buffer and stack size may be increased on request for future plugin versions)

Size of the uncompressed length is only a guess for how big the output buffer needs to be. Actual string returned will often be smaller.

Some examples using this method:

Feedback, Comments & Corrections

The items on this page are in the following plugins: MBS Compression Plugin.




Links
MBS FileMaker blog