Sample code for 30+ languages & platforms
VBScript

Compress Text Feed to Binary

See more Compression Examples

This example receives incoming text data in chunks, compresses as a stream, and accumulates the compressed binary data.

Chilkat VBScript Downloads

VBScript
Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
'Create a Unicode (utf-16) output text file.
Set outFile = fso.CreateTextFile("output.txt", True, True)

success = 0

' This example assumes the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.

set bdCompressed = CreateObject("Chilkat.BinData")

set compress = CreateObject("Chilkat.Compression")
compress.Algorithm = "deflate"
compress.Charset = "utf-8"

set sbUncompressedChunk = CreateObject("Chilkat.StringBuilder")

compress.FirstChunk = 1
compress.LastChunk = 0

For i = 0 To 24
    If (i = 24) Then
        compress.LastChunk = 1
    End If

    sbUncompressedChunk.Clear 
    success = sbUncompressedChunk.AppendInt(i)
    success = sbUncompressedChunk.Append(": This is a line of data to be compressed..." & vbCrLf)

    success = compress.CompressSb(sbUncompressedChunk,bdCompressed)

    compress.FirstChunk = 0
Next

' Show the compressed data in hex format:
outFile.WriteLine("The hex encoded compressed text:")
outFile.WriteLine(bdCompressed.GetEncoded("hex"))

' Now decompress in one call.  It is important to set both FirstChunk and LastChunk = 1
set bdDecompressed = CreateObject("Chilkat.BinData")
compress.FirstChunk = 1
compress.LastChunk = 1
success = compress.DecompressBd2(bdCompressed,bdDecompressed)
If (success = 0) Then
    outFile.WriteLine(compress.LastErrorText)
    WScript.Quit
End If

originalText = bdDecompressed.GetString("utf-8")
outFile.WriteLine(originalText)

outFile.Close