Sample code for 30+ languages & platforms
PowerBuilder

Unzip an AES Encrypted Text File directly into a String Variable

See more Zip Examples

A common need is to unzip from an AES encrypted Zip archive directly into a string variable, such that the unencrypted file never resides on disk, even temporarily. This example shows how to do it.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Zip
oleobject loo_Entry
integer li_LineEndingBehavior
string ls_SrcCharset
string ls_XmlText

li_Success = 0

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

loo_Zip = create oleobject
li_rc = loo_Zip.ConnectToNewObject("Chilkat.Zip")
if li_rc < 0 then
    destroy loo_Zip
    MessageBox("Error","Connecting to COM object failed")
    return
end if

// This example opens a WinZip-compatible AES encrypted
// .zip that contains a single file: hamlet.xml.

// It decrypts and unzips hamlet.xml directly into a string
// variable.
loo_Zip.SetPassword("secret")
li_Success = loo_Zip.OpenZip("qa_data/hamlet.zip")
if li_Success = 0 then
    Write-Debug loo_Zip.LastErrorText
    destroy loo_Zip
    return
end if

loo_Entry = create oleobject
li_rc = loo_Entry.ConnectToNewObject("Chilkat.ZipEntry")

li_Success = loo_Zip.EntryOf("hamlet.xml",loo_Entry)
if li_Success = 0 then
    Write-Debug loo_Zip.LastErrorText
    destroy loo_Zip
    destroy loo_Entry
    return
end if

// lineEndingBehavior:
// 0 = leave unchanged.
// 1 = convert all to bare LF's
// 2 = convert all to CRLF's
li_LineEndingBehavior = 0
ls_SrcCharset = "utf-8"
ls_XmlText = loo_Entry.UnzipToString(li_LineEndingBehavior,ls_SrcCharset)
Write-Debug ls_XmlText


destroy loo_Zip
destroy loo_Entry