如何在C ++ Builder中使用Delphi“in”运算符

时间:2013-02-11 10:44:06

标签: delphi set c++builder c++builder-xe

我是新手程序员。我需要在C ++ Builder XE中使用Delphi的in运算符,如下所示:

if (dgColLines in DBGrid->Options)
    // include vertical lines in total (one per column)
    TotalColumnWidth = TotalColumnWidth + ColumnCount;
if (dgColLines **in** DBGrid->Options)

如何在C ++ Builder中执行此操作?

提前致谢。

2 个答案:

答案 0 :(得分:12)

使用Contains方法检查集合是否包含特定元素:

if( DBGrid->Options.Contains(dgColLines) )
  TotalColumnWidth = TotalColumnWidth + ColumnCount;

答案 1 :(得分:9)

查看相关媒体TDBGrid.Options,其类型为TDBGridOptions,其定义为:

typedef System::Set<TDBGridOption, TDBGridOption::dgEditing,
    TDBGridOption::dgTitleHotTrack> TDBGridOptions;

如您所见,C ++ Builder使用模板System::Set<T, minEl, maxEl>来模拟Delphi集类型。

使用内置Delphi集合运算符的所有可用功能都通过Set的{​​{3}}公开。具体到这个问题,设置成员资格正在使用methods进行测试。