В языке 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))
{
...
}
|