TMessageSet Delphi Reference

TMessageSet

Represents a collection of email message sequence numbers or UIDs on an IMAP server.

Object Creation

var
obj: IMessageSet;
...
begin
obj := TMessageSet.Create(Self).ControlInterface;

Properties

property Count: Integer readonly

The number of message UIDs (or sequence numbers) in this message set.

property HasUids: Integer readonly

If 1 then the message set contains UIDs, otherwise it contains sequence numbers.

Methods

function ContainsId(msgId: Integer): Integer;

Returns 1 if the msgId is contained in the message set.

function FromCompactString(str: WideString): Integer;

Loads the message set from a compact-string representation. Here are some examples:

Non-Compact String

Compact String

1,2,3,4,5

1:5

1,2,3,4,5,8,9,10

1:5,8:10

1,3,4,5,8,9,10

1,3:5,8:10

function GetId(index: Integer): Integer;

Returns the message ID of the Nth message in the set. (indexing begins at 0). Returns -1 if the index is out of range.

procedure InsertId(msgId: Integer);

Inserts a message ID into the set. If the ID already exists, a duplicate is not inserted.

procedure RemoveId(msgId: Integer);

Removes a message ID from the set.

function Serialize(): WideString;

Identical to the ToCompactString method.

Returns a zero-length WideString on failure

function ToCompactString(): WideString;

Returns the set of message IDs represented as a compact string. Here are some examples:

Non-Compact String

Compact String

1,2,3,4,5

1:5

1,2,3,4,5,8,9,10

1:5,8:10

1,3,4,5,8,9,10

1,3:5,8:10

function ToString(): WideString;

Returns a string of comma-separated message IDs. (This is the non-compact string format.)

function Unserialize(str: WideString): Integer;

Same as FromCompactString.