![]() |
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
(Delphi DLL) Add a Common Root Directory to ZIP Entries Using PathPrefixSee more Zip Examples This example demonstrates how to use the The This is useful when:
Suppose the local filesystem contains: And suppose the following code is executed: Then the ZIP archive will contain: Without a The
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Zip; ... procedure TForm1.Button1Click(Sender: TObject); var success: Boolean; zip: HCkZip; recurse: Boolean; begin success := False; zip := CkZip_Create(); // Create a new ZIP archive. success := CkZip_NewZip(zip,'MyProject.zip'); if (success = False) then begin Memo1.Lines.Add(CkZip__lastErrorText(zip)); Exit; end; // Prepend "MyProject/" to all subsequently added ZIP entries. // // This causes all files to extract beneath a top-level // directory named "MyProject". CkZip_putPathPrefix(zip,'MyProject/'); // Recursively add project files. // // Because saveExtraPath = False, the stored ZIP paths // will normally begin with: // // src/ // docs/ // // But because PathPrefix = "MyProject/", // the final ZIP paths become: // // MyProject/src/ // MyProject/docs/ // recurse := True; success := CkZip_AppendFiles(zip,'c:/MyProject/*',recurse); if (success = False) then begin Memo1.Lines.Add(CkZip__lastErrorText(zip)); Exit; end; // Write the ZIP archive and close it. success := CkZip_WriteZipAndClose(zip); if (success = False) then begin Memo1.Lines.Add(CkZip__lastErrorText(zip)); Exit; end; Memo1.Lines.Add('ZIP archive created successfully.'); CkZip_Dispose(zip); end; |
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.