Sample code for 30+ languages & platforms
DataFlex

Add Text Files to a ZIP Using AddString

See more Zip Examples

This example demonstrates how to use the AddString method to add multiple text files directly from string variables into a ZIP archive.

Each string is converted to bytes using the specified character encoding and stored as a separate file entry within the ZIP archive.

This method is useful for dynamically generating small text files such as configuration files, reports, JSON documents, XML, or log files entirely in memory.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoZip
    String sReadmeText
    String sJsonText
    String sXmlText
    String sTemp1

    Move False To iSuccess

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

    Get ComNewZip Of hoZip "stringEntries.zip" To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoZip To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // Add a README text file.
    Move "This ZIP archive was created using AddString." To sReadmeText

    Get ComAddString Of hoZip "docs/readme.txt" sReadmeText "utf-8" To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoZip To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // Add a JSON configuration file.
    Move '{ "server": "example.com", "port": 443 }' To sJsonText

    Get ComAddString Of hoZip "config/settings.json" sJsonText "utf-8" To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoZip To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // Add a small XML document.
    Move "<root><status>OK</status></root>" To sXmlText

    Get ComAddString Of hoZip "xml/status.xml" sXmlText "utf-8" To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoZip To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // Write the ZIP archive to disk and close it.
    Get ComWriteZipAndClose Of hoZip To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoZip To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Showln "ZIP archive created successfully."


End_Procedure