![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как перевести оператор 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 непереводим.