Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.07.06;
Скачать: CL | DM;

Вниз

Как проверять установлен флаг или нет   Найти похожие ветки 

 
alex-drob ©   (2008-06-06 01:38) [0]

Есть такие констаны, флаги:
 MESSAGE_FLAG_OFFLINE = $00000001;
 MESSAGE_FLAG_NORECV = $00000004;
 MESSAGE_FLAG_AUTHORIZE = $00000008;
 MESSAGE_FLAG_SYSTEM = $00000040;
 MESSAGE_FLAG_RTF = $00000080;
 MESSAGE_FLAG_CONTACT = $00000200;
 MESSAGE_FLAG_NOTIFY = $00000400;
 MESSAGE_FLAG_MULTICAST = $00001000;
 MAX_MULTICAST_RECIPIENTS = 50;
 MESSAGE_USERFLAGS_MASK = $000036A8;
 MRIM_CS_MESSAGE_ACK = $1009;


и есть переменная flag:dword; в которой установленны какието из флагов. как проверить какие?
Если бы он мог быть один то можно былобы просто проверять

case flag of
MESSAGE_FLAG_NORECV: ...
....

а если сразу несколько флагов?


 
Amoeba ©   (2008-06-06 01:45) [1]

Только для одного флага:
flag and MESSAGE_FLAG_OFFLINE

Для нескольких:
flag and (MESSAGE_FLAG_OFFLINE or MESSAGE_FLAG_NORECV or MESSAGE_FLAG_RTF)


 
alex-drob ©   (2008-06-06 01:57) [2]

т.е. если например два флага установленны, ну предположем
MESSAGE_FLAG_OFFLINE = $00000001;
MESSAGE_FLAG_RTF = $00000080;


и у меня есть переменная flag=$0081

то обе проверки
if flag and MESSAGE_FLAG_OFFLINE then....
if flag and MESSAGE_FLAG_RTF then....
вернут выполнят действия после then?


 
alex-drob ©   (2008-06-06 02:04) [3]

if mList.Flag and MESSAGE_FLAG_NOTIFY then

пишет ошибку
[Error] main.pas(144): E2012 Type of expression must be BOOLEAN


 
Reindeer Moss Eater ©   (2008-06-06 02:11) [4]

А ты верь ему. Должен быть булеан. А у тебя integer


 
Германн ©   (2008-06-06 02:12) [5]


> то обе проверки
> if flag and MESSAGE_FLAG_OFFLINE then....
> if flag and MESSAGE_FLAG_RTF then....вернут выполнят действия
> после then?
>

Ни разу не пробовал, ну думая что вернут. Но это либо дурной вкус, либо полное непонимание.


 
Германн ©   (2008-06-06 02:14) [6]


> Reindeer Moss Eater ©   (06.06.08 02:11) [4]
>
> А ты верь ему. Должен быть булеан. А у тебя integer
>

И слава Борланду.


 
alex-drob ©   (2008-06-06 02:19) [7]

да я ему верю! а как мне теперь из интегера булеан получить? ну или как по другому проверить установлены флаги или нет?


 
Германн ©   (2008-06-06 02:25) [8]


> alex-drob ©   (06.06.08 02:19) [7]
>
> да я ему верю! а как мне теперь из интегера булеан получить?
>  ну или как по другому проверить установлены флаги или нет?
>
>

http://www.delphikingdom.com/lyceum/seminar.asp?ID=2


 
alex-drob ©   (2008-06-06 02:28) [9]

if (mList.Flag and MESSAGE_FLAG_NOTIFY)=MESSAGE_FLAG_NOTIFY then
то есть так?

спасибо большое всем за помощь!


 
Reindeer Moss Eater ©   (2008-06-06 02:29) [10]

if (mList.Flag and MESSAGE_FLAG_NOTIFY) = MESSAGE_FLAG_NOTIFY then


 
alex-drob ©   (2008-06-06 02:33) [11]

спасибо ещё раз!



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

Текущий архив: 2008.07.06;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
15-1211564220
Пробегал2...
2008-05-23 21:37
2008.07.06
Кто-нибудь делал заборную емкость для воды на дачу?


2-1212748188
ply
2008-06-06 14:29
2008.07.06
эелементарная задача с DBEdit


15-1211727630
TIF
2008-05-25 19:00
2008.07.06
Получить все возможные комбинации символов :(


2-1212882595
ply
2008-06-08 03:49
2008.07.06
сохранить катинку в БД


11-1191179304
LazyBob
2007-09-30 23:08
2008.07.06
Глюк с изменением свойства caption