Sample code for 30+ languages & platforms
DataFlex

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 DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoZip
    Variant vEntry
    Handle hoEntry
    Integer iLineEndingBehavior
    String sSrcCharset
    String sXmlText
    String sTemp1

    Move False To iSuccess

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

    Get Create (RefClass(cComChilkatZip)) To hoZip
    If (Not(IsComObjectCreated(hoZip))) Begin
        Send CreateComObject of hoZip
    End

    // 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.
    Send ComSetPassword To hoZip "secret"
    Get ComOpenZip Of hoZip "qa_data/hamlet.zip" To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoZip To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get Create (RefClass(cComChilkatZipEntry)) To hoEntry
    If (Not(IsComObjectCreated(hoEntry))) Begin
        Send CreateComObject of hoEntry
    End
    Get pvComObject of hoEntry to vEntry
    Get ComEntryOf Of hoZip "hamlet.xml" vEntry To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoZip To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // lineEndingBehavior:
    // 0 = leave unchanged.
    // 1 = convert all to bare LF's
    // 2 = convert all to CRLF's
    Move 0 To iLineEndingBehavior
    Move "utf-8" To sSrcCharset
    Get ComUnzipToString Of hoEntry iLineEndingBehavior sSrcCharset To sXmlText
    Showln sXmlText


End_Procedure