type
TMAPIPropFields = class(TObject)
private
...
protected
...
public
constructor Create(const oMAPIObject: IMAPIProp);
destructor Destroy; override;
property Count: ULONG read GetCount;
property Item[const Index: Integer]: TMAPIPropField Read GetItem; default;
property ItemOf[const PropTag: ULONG]: TMAPIPropField Read GetItemOf;
property ItemOfNamed[const NameID: Variant; const PropSetID: TGUID]: TMAPIPropField Read GetItemOfNamed;
property Tags: TCardinalDynArray read GetTags;
property Modified: Boolean read GetModified;
function PropExists(const PropTag: ULONG): Boolean; overload;
function PropExists(const NameID: Variant; const PropSetID: TGUID; out PropTag: ULONG): Boolean; overload;
function IndexOf(const PropTag: ULONG): Integer;
procedure Refresh;
procedure SaveChanges;
function AddNew(const PropTag: ULONG): TMAPIPropField; overload;
function AddNew(const NameID: Variant; const PropSetID: TGUID; const PropType: ULONG): TMAPIPropField; overload;
procedure Delete(const PropTag: ULONG);
end;
TMAPIPropField = class(TObject)
private
...
protected
...
public
constructor Create(const aPropTag: ULONG; const MAPIProp: IMAPIProp);
destructor Destroy; override;
property PropName: String read GetPropName;
property PropTag: ULONG read GetPropTag;
property PropType: ULONG read GetPropType;
property PropID: ULONG read GetPropID;
property IsMultiValued: Boolean read GetIsMultiValued;
property IsNamed: Boolean read GetIsNamed;
property PropSetID: PGUID read GetPropGUID;
property CustomName: String read GetPropNamedName;
property AsString: String read GetAsString write SetAsString;
property AsBoolean: Boolean read GetAsBoolean write SetAsBoolean;
property AsInteger: Integer read GetAsInteger write SetAsInteger;
property AsInt64: Int64 read GetAsInt64 write SetAsInt64;
property AsSingle: Single read GetAsSingle write SetAsSingle;
property AsDouble: Double read GetAsDouble write SetAsDouble;
property AsCurrency: Currency read GetAsCurrency write SetAsCurrency;
property AsDateTime: TDateTime read GetAsDateTime write SetAsDateTime;
property AsGUID: TGUID read GetAsGUID write SetAsGUID;
property AsBytes: TBytes read GetAsBytes write SetAsBytes;
property Value: Variant read GetVarValue write SetVarValue;
property RawData: PSPropValue read GetRawData;
property MV: TMAPIMultiValue read GetMV;
//
function SaveToStream(Stream: TStream): Int64;
function LoadFromStream(Stream: TStream): Int64;
//
procedure Delete;
procedure Update(const Permanent: Boolean = True);
end;
TMAPIMultiValue = class(TObject)
protected
...
public
property Count: Integer read GetCount;
property Value[const Index: Integer]: Variant read GetPropValue write SetPropValue; default;
property AsInteger[const Index: Integer]: Integer read GetAsInteger write SetAsInteger;
property AsInt64[const Index: Integer]: Int64 read GetAsInt64 write SetAsInt64;
property AsSingle[const Index: Integer]: Single read GetAsSingle write SetAsSingle;
property AsDouble[const Index: Integer]: Double read GetAsDouble write SetAsDouble;
property AsCurrency[const Index: Integer]: Currency read GetAsCurrency write SetAsCurrency;
property AsGUID[const Index: Integer]: TGUID read GetAsGUID write SetAsGUID;
property AsDateTime[const Index: Integer]: TDateTime read GetAsDateTime write SetAsDateTime;
property AsString[const Index: Integer]: WideString read GetAsString write SetAsString;
property AsBytes[const Index: Integer]: TBytes read GetAsBytes write SetAsBytes;
procedure Delete(const Index: Integer);
end;
Copyright © 1999 - 2021 IMIBO
|