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

Вниз

по структуре LVITEM   Найти похожие ветки 

 
tippa   (2010-03-07 10:35) [0]

lvitem: TLVItem;

что значит
lvitem.state:=0;
lvitem.statemask:=0

в чем отличие этих полей?

почему пишем "or" а не "and", если надо и то и другое заполнять?
lvitem.mask:=LVIF_STATE or LVIF_TEXT

будут ли заполнены поля
lvitem.state:=0;
lvitem.statemask:=0

если
lvitem.mask:=LVIF_TEXT


 
MBo ©   (2010-03-07 13:21) [1]

>в чем отличие этих полей?
statemask показывает, какие поля в state будут приниматься во внимание, а какие игнорироваться

>почему пишем "or" а не "and", если надо и то и другое заполнять?
потому что нужно разобраться, что означают эти операции


 
0x00FF00   (2010-03-07 13:30) [2]

StateMask — это список полей, на которые система вообще должна будет обращать внимание.
Ну а Mask — это сопстно текущий набор полей.

про OR и AND:
скорее всего, Вы не понимаете логики работы битовых масок.
вот смотрите.

есть у нас восьмибитная беззнаковая переменная mask (в Делфях — тип byte):
mask: 0000 0000
и есть две константы LVIF_TEST1 и LVIF_TEST2:
LVIF_TEST1 = 0000 0100
LVIF_TEST1 = 0001 0000

Эти константы — так называемые битовые маски.
Они способны включать в переменной mask нужные биты, отвечающие, по логике программы, за то или иное действие.

Допустим, что третий бит отвечает за некое действие TEST1, а пятый — за TEST2.
Что нужно сделать, чтобы в маске проставить способность и на TEST1, и на TEST2?
Ответ: получить в переменной mask значение 0001 0100.
Именно поэтому нам нужен OR.
Если использовать AND, то, в полном согласии с таблицей истинности этой функции, переменная mask просто занулится.

ps. эх, опоздал =)



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

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

Наверх




Память: 0.47 MB
Время: 0.068 c
15-1275510579
Юрий
2010-06-03 00:29
2010.08.27
С днем рождения ! 3 июня 2010 четверг


15-1270632155
ocean
2010-04-07 13:22
2010.08.27
Gigabit net


15-1272675162
adav84
2010-05-01 04:52
2010.08.27
Precompiled binaries в Linux


2-1268353155
Женя
2010-03-12 03:19
2010.08.27
связанные таблицы


3-1238143812
Fisht
2009-03-27 11:50
2010.08.27
фильтрация в TTable