Выборка из перечислений на C++
Написал microsin   
13.04.2005

В языке C++ нередко применяют перечисления. Например, в функциях StringReplace (применяется перечисление в параметре TReplaceFlags Flags) и MessageDlg (в параметре TMsgDlgButtons Buttons):

enum Sysutils__93 { rfReplaceAll, rfIgnoreCase };
typedef Set<Sysutils__93, rfReplaceAll, rfIgnoreCase>  TReplaceFlags;
extern PACKAGE AnsiString __fastcall StringReplace(const AnsiString S, const AnsiString OldPattern, const AnsiString NewPattern, TReplaceFlags Flags);

typedef Set<TMsgDlgBtn, mbYes, mbHelp> TMsgDlgButtons;
extern PACKAGE int __fastcall MessageDlg(const AnsiString Msg, TMsgDlgType DlgType, TMsgDlgButtons Buttons, int HelpCtx);

Применять перечисление в вызове функции следует так (примеры не всегда есть в подсказке):
   ... = StringReplace(tmp, " ", "0", TReplaceFlags()<<rfReplaceAll);
и так:
   if (mrYes == MessageDlg("Удалить маску?",mtConfirmation,TMsgDlgButtons() << mbYes << mbNo,0))
     {
       ...
     }