Delphi Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Delphi Examples

Bounced Mail
Bz2
Character Encoding
CSV
DKIM / DomainKey
Digital Certificates
Digital Signatures
DH Key Exchange
DSA
Email
Email Object
FTP
HTML-to-XML
HTTP
IMAP
Encryption
MHT / HTML Email
NTLM
POP3
RSA
S/MIME
SMTP
Socket
Spider
SFTP
SSH
SSH Key
SSH Tunnel
String
Tar
Upload
XML
XMP
Zip Compression

More Examples...
Byte Array
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
Bzip2
LZW

Type Conversion

 

Article: Understanding COM References in Delphi

Controlling Paths of Files Added to Zip

Download Chilkat Zip ActiveX (includes objects for .zip, .gz, .bz2, and .Z)

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;

 

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2009 Chilkat Software, Inc. All Rights Reserved.

Mail Component · .NET Email Component · XML Parser