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

Множества set of   Найти похожие ветки 

 
San1   (2008-03-20 13:47) [0]

Здравствуйте! Подскажите пожалуйста.

Есть множество TState= set of (s1,s2,s3,s4,s5);
var
state:TState;

делаю следующее:
...
include(State,s1);
include(State,s2);
...

Необходимо проверить вхождение добавленных значений в множество

if (sgOver in FStatusGame) or (sgVictory in FStatusGame) then Exit;

Можно ли записать это короче? Что-то вроде:

if (sgOver or sgVictory) in FStatusGame then Exit;


 
Reindeer Moss Eater ©   (2008-03-20 13:49) [1]

чтобы можно было короче нужны не множества, а битовые маски.


 
San1   (2008-03-20 13:51) [2]

А что это такое - битовые маски?


 
Reindeer Moss Eater ©   (2008-03-20 13:52) [3]

Либо зайти с другого бока и определить заранее предопределенные подмножества можества типа как это сделано для

dsEditModes


 
Плохиш ©   (2008-03-20 13:58) [4]


> Можно ли записать это короче? Что-то вроде:
>
> if (sgOver or sgVictory) in FStatusGame then Exit;


if ([sgOver, sgVictory] * FStatusGame) <> [] then Exit;


 
Reindeer Moss Eater ©   (2008-03-20 13:58) [5]

//if (sgOver or sgVictory) in FStatusGame then Exit;

if ((2 or 4) and 12) > 0 then Exit


 
Семеныч   (2008-03-20 14:38) [6]

[4]. И говорить более не о чем.



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

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



Память: 0.46 MB
Время: 0.012 c
15-1204193130
Kerk
2008-02-28 13:05
2008.04.13
Google Sites


15-1204092664
31512
2008-02-27 09:11
2008.04.13
Delphi 7: пользовательский интерфейс на китайском языке


6-1184838126
Alarm_x
2007-07-19 13:42
2008.04.13
Как отследить количество подключений на указанный порт


2-1205935817
AntonUSAnoV
2008-03-19 17:10
2008.04.13
как привести вводимый символ к верхнему регистру


4-1187003036
DevilDevil
2007-08-13 15:03
2008.04.13
Удалить все сообщения контролу из очереди сообщений




   Наверх