![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Dapo |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 18.4.2002 Репутация: нет Всего: 1 |
Здравствуйте. У меня в программе динамически создются объекты одного типа (f.e. TMyObject). Каждый из них имеет свои настройки которые записываются в поле Properties: integer этого объекта. Настройки я решил описать константами, типа
const _a:=$1000; _b:=$0100; _c:=$0010; .........; _g:=$F000; _h:=$0F00; _i:=$00F0; _j:=$000F; В зависимости от разных условий св-во Properties будет формироваться посредством опереаторов and, or, not, f.e.: 1. MyObject1.Properties:=MyObject1.Properties or _a; или проверка: 2. If (MyObject1.Properties and _a)=_a then Showmessage('Есть св-во "_а".'); Вот тут и возникает проблема: Если я выполню 1-е действие с константой _g, то условие 2 (для константы "_а")тоже выполниться. Как корректно объявить константы, чтобы они "не входили друг в друга"? спасибо. |
|||
|
||||
| MBo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 10.6.2002 Репутация: 3 Всего: 18 |
в Word таким образом можно вместить 16 констант (16 бит), в Integer-32
_a=$01 _b=$02 _c=$04 _d=$08 _e=$10 _f=$20 ... _последняя=$8000 |
|||
|
||||
| neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: нет Всего: 62 |
От себя лишь могу добавить: чтобы проверить в свойстве определенный бит, можно воспользоваться тким выражением:
((Properties) and (1 shl (n-1))) где n - порядковый номер бита (или степень двойки - 1 -------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
| Dapo |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 18.4.2002 Репутация: нет Всего: 1 |
Всем спасибо за помощь.
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |