Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

по структуре 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.066 c
2-1267885769
Mer01
2010-03-06 17:29
2010.08.27
Как задать массив Record при инициализации?


2-1265642089
webpauk
2010-02-08 18:14
2010.08.27
Проблема с CheckBox


15-1268760103
Делфиец
2010-03-16 20:21
2010.08.27
Изучают ли Делфи в ВУЗАХ


15-1273480342
SKIPtr
2010-05-10 12:32
2010.08.27
закртие или контроль приложений в Mozilla и оперы


2-1266319857
oleg1963lora
2010-02-16 14:30
2010.08.27
Вопросы по юникоду





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский