Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
Controlling Paths of Files Added to Zip
When appending files to a .zip, it can be difficult to get the paths exactly as you want them. This example describes a way that you can control the path information when adding a single file at a time to a .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; saveExtraPath: Integer; begin zip := TChilkatZip2.Create(Self); success := zip.UnlockComponent('anything for 30-day trial'); if (success <> 1) then begin ShowMessage('Failed to unlock zip component'); end; // Intialize the zip object by calling NewZip. zip.NewZip('myZip.zip'); // Add a reference to a file on disk to the zip object. // (When appending files to a zip, the files are not actually // read into memory. References to the file(s) are added. // When WriteZip is called, the referenced files are streamed in // and compressed to the .zip.) saveExtraPath := 0; success := zip.AppendOneFileOrDir('c:/temp/a/hamlet.xml',saveExtraPath); // For brevity, this example will not check the return status... // The saveExtraPath argument, if set, will cause the path information // passed in the 1st argument to be saved in the .zip. // To add "a/hamlet.xml", do this: zip.AppendFromDir := 'c:/temp'; saveExtraPath := 1; success := zip.AppendOneFileOrDir('a/hamlet.xml',saveExtraPath); // To add "temp/a/hamlet.xml", do this: zip.AppendFromDir := 'c:/'; saveExtraPath := 1; success := zip.AppendOneFileOrDir('temp/a/hamlet.xml',saveExtraPath); // The zip written here will contain hamlet.xml three times, // each with a different relative path. success := zip.WriteZipAndClose(); end; |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.