Delphi Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

Delphi Examples

Bounced Mail
Bz2
Character Encoding
CSV
DKIM / DomainKey
Digital Certificates
Digital Signatures
DH Key Exchange
DSA
Email
Email Object
FTP
HTML Conversion
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...
Amazon S3
Byte Array
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
Bzip2
LZW

Type Conversion

 

Article: Understanding COM References in Delphi

XMP Array Property - Bag, Seq, or Alt

Download Chilkat XML ActiveX

How to insert or update an XMP array property (bag, seq, or alt).

uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls,
    CHILKATXMLLib_TLB,
    CHILKATXMPLib_TLB,
    CHILKATUTILLib_TLB,
    OleCtrls;

...

procedure TForm1.Button1Click(Sender: TObject);
var
xmp: TChilkatXmp;
success: Integer;
xml: CHILKATXMLLib_TLB.IChilkatXml;
sa: CHILKATUTILLib_TLB.ICkStringArray;

begin
xmp := TChilkatXmp.Create(Self);

success := xmp.UnlockComponent('Anything for 30-day trial.');
if (success <> 1) then
  begin
    ShowMessage(xmp.LastErrorText);
    Exit;
  end;

//  Load a JPG or TIF image file.
//  Sample JPG's with XMP metadata may be found at:
//  http://www.chilkatsoft.com/testData/xmp/sample1.jpg
//  http://www.chilkatsoft.com/testData/xmp/sample2.jpg
//  http://www.chilkatsoft.com/testData/xmp/sample3.jpg
success := xmp.LoadAppFile('sample1.jpg');
if (success <> 1) then
  begin
    ShowMessage(xmp.LastErrorText);
    Exit;
  end;

Memo1.Lines.Add('Num embedded XMP docs: ' + IntToStr(xmp.NumEmbedded));

//  Assuming there is at least one, get the 1st.
//  (There is typically never more than one, but theoretically it's possible.)

xml := xmp.GetEmbedded(0);
if (not (xml = nil )) then
  begin

    //  Create an object to hold one or more string values.
    sa := TCkStringArray.Create(Self).ControlInterface;
    sa.Append('value_1');
    sa.Append('value_2');
    //  ...

    success := xmp.AddArray(xml,'bag','Iptc4xmpCore:Chilkat',sa);
    if (success <> 1) then
      begin
        ShowMessage(xmp.LastErrorText);
      end
    else
      begin
        //  Save the JPG.
        xmp.SaveAppFileERROR-2 ('modified.jpg');

      end;

  end
else
  begin
    ShowMessage(xmp.LastErrorText);
  end;
end;

 

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

Mail Component · .NET Email Component · XML Parser