Delphi DLL
Delphi DLL
Add Files to a ZIP Using AddFile
See more Zip Examples
This example demonstrates how to use the AddFile method to add files from the local filesystem to a ZIP archive.
The example adds two files:
- One file with its relative directory path preserved
- One file stored using only its filename
The AddFile method adds references to local filesystem files. The files are not actually read or compressed until a Write* method is called.
Chilkat Delphi DLL Downloads
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;
saveExtraPath: Boolean;
begin
success := False;
zip := CkZip_Create();
success := CkZip_NewZip(zip,'addFileExample.zip');
if (success = False) then
begin
Memo1.Lines.Add(CkZip__lastErrorText(zip));
Exit;
end;
// Add a file and preserve its relative directory structure
// within the ZIP archive.
//
// The following file:
// c:/projects/app/docs/readme.txt
//
// Will be stored in the ZIP as:
// projects/app/docs/readme.txt
//
saveExtraPath := True;
success := CkZip_AddFile(zip,'c:/projects/app/docs/readme.txt',saveExtraPath);
if (success = False) then
begin
Memo1.Lines.Add(CkZip__lastErrorText(zip));
Exit;
end;
// Add a file using only the filename in the ZIP archive.
//
// The following file:
// c:/temp/logo.png
//
// Will be stored in the ZIP as:
// logo.png
//
saveExtraPath := False;
success := CkZip_AddFile(zip,'c:/temp/logo.png',saveExtraPath);
if (success = False) then
begin
Memo1.Lines.Add(CkZip__lastErrorText(zip));
Exit;
end;
// Write the ZIP archive to disk and close it.
// The source files are consumed at this time.
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;