2013-02-11 10 views
6

Tôi là lập trình viên mới. Tôi cần phải sử dụng toán tử in Delphi trong C++ Builder XE như thế này:Cách sử dụng toán tử Delphi "in" trong C++ Builder

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

Làm thế nào để làm điều đó trong C++ Builder?

Xin cảm ơn trước.

+0

Có lẽ [Hỗ trợ ngôn ngữ cho VCL] (http://docwiki.embarcadero.com/RADStudio/XE3/en/Language_Support_for_the_VCL_%28C%2B%2B%29) trong tài liệu Trình dựng C++ sẽ giúp tìm thấy các phần tử tương đương. –

Trả lời

11

Sử dụng phương pháp Contains để kiểm tra xem một bộ chứa một yếu tố cụ thể:

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

Thaaaanks rất nhiều TLama, nó hoạt động .... – Andromeda

9

Nhìn các thuộc tính trong câu hỏi, TDBGrid.Options, kiểu của nó là TDBGridOptions được định nghĩa là:

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

Như bạn có thể thấy, C++ Builder sử dụng mẫu System::Set<T, minEl, maxEl> để mô phỏng các loại thiết lập Delphi.

Tất cả chức năng có sẵn bằng cách sử dụng toán tử được cài đặt trong Delphi được hiển thị thông qua methods của Set. Cụ thể cho câu hỏi này, thiết lập thành viên là thử nghiệm sử dụng Contains().