我是个新手程序员。我需要在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中做到这一点?
提前谢谢。
使用Contains
方法检查集合是否包含特定元素:
if( DBGrid->Options.Contains(dgColLines) )
TotalColumnWidth = TotalColumnWidth + ColumnCount;
查看有问题的属性TDBGrid.Options
,其类型为TDBGridOptions
,定义为:
typedef System::Set<TDBGridOption, TDBGridOption::dgEditing,
TDBGridOption::dgTitleHotTrack> TDBGridOptions;
正如您所看到的,C++Builder使用模板System::Set<T, minEl, maxEl>
来模拟Delphi集合类型。
使用内置的Delphi集合运算符的所有可用功能都通过Set
的方法公开。针对这个问题,集合成员身份是使用Contains()
进行测试的。