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. uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ChilkatZip2Lib_TLB, OleCtrls; ... procedure TForm1.Button1Click(Sender: TObject); var zip: TChilkatZip2; success: Integer; numEntries: Integer; saveExtraPath: Integer; entry: IChilkatZipEntry2; begin zip := TChilkatZip2.Create(Self); // Any string unlocks the component for the 1st 30-days. success := zip.UnlockComponent('Anything for 30-day trial'); if (success <> 1) then begin ShowMessage(zip.LastErrorText); end; // 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. success := zip.OpenZip('a.zip'); if (success <> 1) then begin ShowMessage(zip.LastErrorText); end; // Save the current number of entries. numEntries := zip.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. saveExtraPath := 0; success := zip.AppendOneFileOrDir('hamlet.xml',saveExtraPath); if (success <> 1) then begin ShowMessage(zip.LastErrorText); end; // Get the entry we just added: entry := zip.GetEntryByIndex(numEntries); // 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". entry.FileName := 'shakespearePlay.xml'; // 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. success := zip.WriteZipAndClose(); if (success <> 1) then begin ShowMessage(zip.LastErrorText); end; end; |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.