Как использовать оператор Delphi в C++ Builder

Я начинающий программист. Мне нужно использовать оператор Delphi in в C++ Builder XE следующим образом:

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

Как это сделать в С++ Builder?

Заранее спасибо.


person Andromeda    schedule 11.02.2013    source источник
comment
Возможно, Языковая поддержка VCL в Документация C++ Builder поможет найти эквиваленты.   -  person Ken White    schedule 12.02.2013


Ответы (2)


Используйте метод Contains, чтобы проверить, содержит ли набор определенный элемент:

if( DBGrid->Options.Contains(dgColLines) )
  TotalColumnWidth = TotalColumnWidth + ColumnCount;
person TLama    schedule 11.02.2013

Глядя на рассматриваемое свойство, TDBGrid.Options, его тип TDBGridOptions который определяется как:

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

Как видите, C++ Builder использует шаблон System::Set<T, minEl, maxEl> для эмуляции набора Delphi. типы.

Все функциональные возможности, доступные при использовании встроенных операторов набора Delphi, доступны через методы из Set. В частности, для этого вопроса членство в наборе проверяется с использованием Contains().

person David Heffernan    schedule 11.02.2013