Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
Append File and Rename within ZipHow to append an additional file to a .zip and rename it within the .zip. LOCAL loZip LOCAL lnSuccess LOCAL lnNumEntries LOCAL lnSaveExtraPath LOCAL loEntry loZip = CreateObject('Chilkat.Zip2') * Any string unlocks the component for the 1st 30-days. lnSuccess = loZip.UnlockComponent("Anything for 30-day trial") IF (lnSuccess <> 1) THEN =MESSAGEBOX(loZip.LastErrorText) QUIT ENDIF * Open an existing .zip. * Note: Opening a zip does not read the entire zip into memory. * It simply opens the zip and makes it ready for unzipping * or retrieving information and/or data. lnSuccess = loZip.OpenZip("a.zip") IF (lnSuccess <> 1) THEN =MESSAGEBOX(loZip.LastErrorText) QUIT ENDIF * Save the current number of entries. lnNumEntries = loZip.NumEntries * Append a new file to the .zip. * The new entry is at index numEntries (indexing begins at 0). * Note: The AppendOneFileOrDir simply adds a reference to the * file to the zip object. The file is not actually read * or physically added to the .zip file until the WriteZip or * WriteZipAndClose method is called. lnSaveExtraPath = 0 lnSuccess = loZip.AppendOneFileOrDir("hamlet.xml",lnSaveExtraPath) IF (lnSuccess <> 1) THEN =MESSAGEBOX(loZip.LastErrorText) QUIT ENDIF * Get the entry we just added: loEntry = loZip.GetEntryByIndex(lnNumEntries) * Change the filename. * The zip component remembers the file referenced in the filesystem. * When the zip is written, the "hamlet.xml" file is read and * compressed, but the filename within the zip will be "shakespearePlay.xml". loEntry.FileName = "shakespearePlay.xml" RELEASE loEntry * Write the .zip * The Chilkat Zip component always writes to a temporary file * first. This is to ensure that (in cases like this), if something * goes wrong we don't lose the original .zip. If the write * finishes without error, it is moved to the destination * file, thus overwriting it. The TempDir property controls * the directory where the temp zip is written. lnSuccess = loZip.WriteZipAndClose() IF (lnSuccess <> 1) THEN =MESSAGEBOX(loZip.LastErrorText) QUIT ENDIF |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2007 Chilkat Software, Inc. All Rights Reserved.
Mail Component · .NET Email Component · ASP Mail Component · XML Parser