Вниз
Скачать: CL | DM;

Как перевести оператор in из Delphi в С++?   Найти похожие ветки 

 
Strumpf   (2002-09-05 16:48) [0]

Как, например, перевести на C++ строки:

if biSystemMenu in BorderIcons then ...

if BorderStyle in [bsSizeable,bsSingle] then ...

Я понимаю, что вопрос несколько не в тему, но все-же, помогите бедному чайнику...


 
Виктор Щербаков ©   (2002-09-05 16:49) [1]

В стандартном С++ нет встроенных множеств, по-этому in непереводим.


 
Игорь Шевченко ©   (2002-09-05 16:50) [2]

Битовые операции вам помогут.


 
Strumpf   (2002-09-05 16:51) [3]

Тогда каков выход? Чем все это можно заменить?


 
Strumpf   (2002-09-05 16:53) [4]

> Игорь Шевченко © (05.09.02 16:50)
Если можно, подробнее. Я же написал - чайник...


 
Виктор Щербаков ©   (2002-09-05 16:53) [5]

Strumpf (05.09.02 16:51)
В BCB есть класс - аналог паскалевских множеств. Посмотри, в хэлпе должно быть про это.


 
Игорь Шевченко ©   (2002-09-05 18:18) [6]

#define biSystemMenu 0x01
#define bsSizeable 0x01
#define bsSingle 0x02
// Значения взяты просто так...

if biSystemMenu in BorderIcons then ...

if (BorderIcons & biSystemMenu) {
...
}

if BorderStyle in [bsSizeable,bsSingle] then ...

if (BorderStyle & (bsSizeable | bsSinble)) {
...
}


Примерно так.

С уважением,




 
Suntechnic ©   (2002-09-05 18:31) [7]

Да не надо изврашениями заниматься. В C++ Builder для этих целей используется шаблонный класс Set:
if biSystemMenu in BorderIcons then ...

if (BorderIcons.Contains(biSystemMenu))
{
...
}



 
Strumpf   (2002-09-05 19:23) [8]

Всем боооольшое спасибо!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.009 c
1-50859
d_oleg
2002-09-04 17:12
2002.09.16
TWinControl - запрет перерисовки


1-50832
T1000
2002-09-03 20:39
2002.09.16
Кодировки в письмах


4-51025
edik
2002-07-25 14:51
2002.09.16
Окна в WINAPI


1-50843
Igel
2002-09-04 13:38
2002.09.16
Как предотвратить закрытие окна?


6-50893
BOL
2002-07-03 16:20
2002.09.16
Рассылка большого количества писем по разным адресам




   Наверх