![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java JavaScript Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Tcl) Remove an Entry from an Existing ZIP Using DeleteEntry
This example demonstrates how to use the The example:
Suppose the original ZIP archive contains:
After deleting
The entry is removed only from the in-memory ZIP object until a
Note: This example requires Chilkat v11.0.0 or greater.
load ./chilkat.dll set success 0 set success 0 # ------------------------------------------------------------ # First create a ZIP archive containing three text files. set zip [new_CkZip] set success [CkZip_NewZip $zip "original.zip"] if {$success == 0} then { puts [CkZip_lastErrorText $zip] delete_CkZip $zip exit } set charset "utf-8" set success [CkZip_AddString $zip "a.txt" "Contents of file A" $charset] if {$success == 0} then { puts [CkZip_lastErrorText $zip] delete_CkZip $zip exit } set success [CkZip_AddString $zip "b.txt" "Contents of file B" $charset] if {$success == 0} then { puts [CkZip_lastErrorText $zip] delete_CkZip $zip exit } set success [CkZip_AddString $zip "c.txt" "Contents of file C" $charset] if {$success == 0} then { puts [CkZip_lastErrorText $zip] delete_CkZip $zip exit } # Write the ZIP archive to disk. # # The ZIP now contains: # # a.txt # b.txt # c.txt # set success [CkZip_WriteZipAndClose $zip] if {$success == 0} then { puts [CkZip_lastErrorText $zip] delete_CkZip $zip exit } # ------------------------------------------------------------ # Open the existing ZIP archive for modification. set zip2 [new_CkZip] set success [CkZip_OpenZip $zip2 "original.zip"] if {$success == 0} then { puts [CkZip_lastErrorText $zip2] delete_CkZip $zip delete_CkZip $zip2 exit } # Find the entry named "b.txt". set entry [new_CkZipEntry] set success [CkZip_EntryOf $zip2 "b.txt" $entry] if {$success == 0} then { puts [CkZip_lastErrorText $zip2] delete_CkZip $zip delete_CkZip $zip2 delete_CkZipEntry $entry exit } # Remove the entry from the in-memory ZIP object. # # At this point, the original ZIP file on disk is unchanged. # The deletion takes effect only after WriteZip or # WriteZipAndClose is called. set success [CkZip_DeleteEntry $zip2 $entry] if {$success == 0} then { puts [CkZip_lastErrorText $zip2] delete_CkZip $zip delete_CkZip $zip2 delete_CkZipEntry $entry exit } # Write the modified ZIP archive to a new file. CkZip_put_FileName $zip2 "modified.zip" set success [CkZip_WriteZipAndClose $zip2] if {$success == 0} then { puts [CkZip_lastErrorText $zip2] delete_CkZip $zip delete_CkZip $zip2 delete_CkZipEntry $entry exit } # The modified ZIP now contains: # # a.txt # c.txt # puts "ZIP archive updated successfully." delete_CkZip $zip delete_CkZip $zip2 delete_CkZipEntry $entry |
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.