Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) Modify Name of File Stored within Zip when Creating a .zipDemonstrates how to create a zip where the filename within the .zip is different than the filename that was added from the filesystem.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, ZipEntry, Zip; ... procedure TForm1.Button1Click(Sender: TObject); var zip: HCkZip; success: Boolean; saveExtraPath: Boolean; entry: HCkZipEntry; begin // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. zip := CkZip_Create(); // Intialize the zip object by calling NewZip. success := CkZip_NewZip(zip,'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 := False; success := CkZip_AppendOneFileOrDir(zip,'/temp/a/hamlet.xml',saveExtraPath); if (success <> True) then begin Memo1.Lines.Add(CkZip__lastErrorText(zip)); Exit; end; // The zip object references a single file. // Retrieve the entry object... entry := CkZip_GetEntryByIndex(zip,0); // Set the entry's filename to anything you want: CkZipEntry_putFileName(entry,'somethingElse.xml'); // Note: Internally, the zip component retains the name of // the file referenced. The current setting of the zip entry's // FileName property is stored in the .zip when writing. // The zip written here will contain somethingElse.xml success := CkZip_WriteZipAndClose(zip); if (success <> True) then begin Memo1.Lines.Add(CkZip__lastErrorText(zip)); end else begin Memo1.Lines.Add('Zip created!'); end; CkZip_Dispose(zip); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.