Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как перевести оператор in из Delphi в С++? [D6, WinXP]


Strumpf ©   (2002-09-05 16:48:00) 

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

if biSystemMenu in BorderIcons then ...

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

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


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

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


Suntechnic   (2002-09-05 18:31:00) [2]

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

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


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

#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)) {
...
}


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

С уважением,



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

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


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

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


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

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


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

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


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо