Вниз
Скачать: 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.011 c
4-51035
Stany
2002-07-23 20:28
2002.09.16
System tray


7-51005
Чайник2
2002-07-04 06:42
2002.09.16
Click


1-50728
Иван Иванович
2002-09-05 16:27
2002.09.16
Запись


7-50996
YDV
2002-06-19 11:42
2002.09.16
расшаривание COM портов в сети !...


1-50691
NiConZ
2002-09-05 10:31
2002.09.16
->IDE->Code templates ?




   Наверх