PowerBuilder
PowerBuilder
Compress String Feed to Base64
See more Compression Examples
This example receives incoming text data in chunks, compresses as a stream, and accumulates the compressed data in base64.Chilkat PowerBuilder Downloads
integer li_rc
integer li_Success
oleobject loo_SbCompressedBase64
oleobject loo_Compress
oleobject loo_BdCompressed
oleobject loo_SbUncompressedChunk
integer i
string ls_OriginalText
li_Success = 0
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
loo_SbCompressedBase64 = create oleobject
li_rc = loo_SbCompressedBase64.ConnectToNewObject("Chilkat.StringBuilder")
if li_rc < 0 then
destroy loo_SbCompressedBase64
MessageBox("Error","Connecting to COM object failed")
return
end if
loo_Compress = create oleobject
li_rc = loo_Compress.ConnectToNewObject("Chilkat.Compression")
loo_Compress.Algorithm = "deflate"
loo_Compress.Charset = "utf-8"
loo_Compress.EncodingMode = "base64"
loo_Compress.FirstChunk = 1
loo_Compress.LastChunk = 0
loo_BdCompressed = create oleobject
li_rc = loo_BdCompressed.ConnectToNewObject("Chilkat.BinData")
loo_SbUncompressedChunk = create oleobject
li_rc = loo_SbUncompressedChunk.ConnectToNewObject("Chilkat.StringBuilder")
for i = 0 to 24
if i = 24 then
loo_Compress.LastChunk = 1
end if
loo_SbUncompressedChunk.Clear()
loo_SbUncompressedChunk.AppendInt(i)
loo_SbUncompressedChunk.Append(": This is a line of data to be compressed...~r~n")
loo_Compress.CompressSb(loo_SbUncompressedChunk,loo_BdCompressed)
loo_Compress.FirstChunk = 0
next
Write-Debug "The base64 encoded compressed text:"
Write-Debug loo_BdCompressed.GetEncoded("base64")
// Decompress in one call:
ls_OriginalText = loo_Compress.DecompressStringENC(loo_BdCompressed.GetEncoded("base64"))
Write-Debug ls_OriginalText
destroy loo_SbCompressedBase64
destroy loo_Compress
destroy loo_BdCompressed
destroy loo_SbUncompressedChunk