idimap4控件中storeflags函数赋值问题,急!
实在愚钝,这个值不知怎样赋值进去,就是将一个邮件标示为已读标示
mainfrm.pas
......
var
TheFlags: TIdMessageFlagsSet;
SearchKey:TIdIMAP4SearchKey;
setFlags:TIdMessageFlags;
begin
THEImap.StoreFlags(i,sdadd,TheFlags);
问题:TheFlags这个不知怎样赋值,原型是:function StoreFlags(const AMsgNumList: array of Integer; const AStoreMethod: TIdIMAP4StoreDataItem; const AFlags: TIdMessageFlagsSet): Boolean;第一二个参数都知,但第三个参数不知怎样赋值进去,使之为mfseen;
相关说明:
第二个参数的值在idimap4.pas中
TIdIMAP4StoreDataItem = ( sdReplace, sdReplaceSilent, sdAdd, sdAddSilent, sdRemove, sdRemoveSilent );
第三个参数的值在IDmessage.pas中但却不知道怎样赋值了,因为相关的参数转了一下,不知怎样把TIDmessageflags中的mfseen什赋到上面函数里去。TIdMessageFlagsSet与TIdMessageFlags 的关系是如下:
TIdMessageFlags =
( mfAnswered, //Message has been answered.
mfFlagged, //Message is "flagged" for urgent/special attention.
mfDeleted, //Message is "deleted" for removal by later EXPUNGE.
mfDraft, //Message has not completed composition (marked as a draft).
mfSeen, //Message has been read.
mfRecent ); //Message is "recently" arrived in this mailbox.
TIdMessageFlagsSet = set of TIdMessageFlags;
[解决办法]
集合用中括号,逗号分开,直接传成员
TheFlags:=[mfSeen,mfRecent]; //要几个传几个
StoreFlags[i,sdadd,TheFlags];
[解决办法]