FoxPro Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

Visual FoxPro Examples

Bounced Mail
Bz2
Character Encoding
CSV
Digital Certificates
Digital Signatures
Email
Email Object
FTP
HTML Conversion
HTTP
IMAP
Encryption
MHT / HTML Email
POP3
RSA
S/MIME
Socket
Spider
SFTP
SMTP
SSH
SSH Key
SSH Tunnel
String
Tar
Upload
XML
XMP
Zip Compression
Self-Extractor

More Examples...
Amazon S3
DKIM / DomainKey
NTLM
RSS
Atom
Byte Array
Service
PPMD
Deflate
DH Key Exchange
DSA
FileAccess
Bzip2
LZW

 

Non-Chilkat Links
Text and String Handling

PPMD String Compression

Demonstrates string compression using PPMD.

Download Chilkat Compression ActiveX

LOCAL loCompress
LOCAL lnSuccess
LOCAL lcStrData
LOCAL i
LOCAL lcCompressedStr
LOCAL lcStrOriginal

loCompress = CreateObject('Chilkat.Compression')

*  Any string argument automatically begins a 30-day trial.

lnSuccess = loCompress.UnlockComponent("30-day trial")
IF (lnSuccess <> 1) THEN
    =MESSAGEBOX("Compression component unlock failed")
    QUIT
ENDIF

loCompress.Algorithm = "ppmd"

*  Create a long string to compress.
lcStrData = "abcdefg1122334455667788"
lcStrData = lcStrData + CHR(13)+CHR(10)
FOR i = 0 TO 99
    lcStrData = lcStrData + "abcdefg1122334455667788"
    lcStrData = lcStrData + CHR(13)+CHR(10)
NEXT

*  Depending on the programming language, the string
*  may be Unicode.  Tell the component to convert to
*  ansi (1-byte/char) prior to compression:
loCompress.Charset = "ansi"

*  Compressed data is binary, meaning that all byte values
*  from 0 to 255 are possible.  The result would not be
*  a printable string.  To receive a printable string (us-ascii),
*  the resultant compressed data should be encoded using
*  an encoding such as base64.  Set the EncodingMode
*  property to determine the output encoding:
*  (Valid choices are "base64", "hex", "url", and others)
loCompress.EncodingMode = "base64"

*  Note: Base64 encoding expands the compressed data by
*  4/3rds because each 3 bytes of binary data are represented
*  by 4 printable chars.  Hex, for example, doubles the output
*  size because each byte is represented by 2 printable chars.

*  PPMD compress the string:

lcCompressedStr = loCompress.CompressStringENC(lcStrData)
IF (lcCompressedStr = NULL ) THEN
    =MESSAGEBOX(loCompress.LastErrorText)
    QUIT
ENDIF

*  Display the compressed string.
*  The result will be:
*  ec8YZ5vk9za18d0plwuV7R65em9OZge9gJXht/QAAAAAAAAAABNOZQAAKw==
? lcCompressedStr

*  Decompress back to the original:

lcStrOriginal = loCompress.DecompressStringENC(lcCompressedStr)

*  Display the uncompressed original:
? "--- Original ---"
? lcStrOriginal

© 2000-2010 Chilkat Software, Inc. All Rights Reserved.

Mail Component · .NET Email Component · ASP Mail Component · XML Parser