Возможно, это глупый вопрос, но для меня это праздное любопытство.Постоянные поразрядные выражения Delphi
У меня есть код Delphi, который выглядит так:
const KeyRepeatBit = 30; ... // if bit 30 of lParam is set, mark this message as handled if (Msg.lParam and (1 shl KeyRepeatBit) > 0) then Handled:=true; ...
(цель кода не очень важно)
ли компилятор видеть «(1 ЗЫ KeyRepeatBit)», как-то, что можно вычислить во время компиляции, и, таким образом, он становится постоянным ? Если нет, можно ли что-нибудь получить, работая в виде числа и заменив выражение на число?
Спасибо, это все, что мне нужно. :-) – robsoft
Вы забыли о доступных для записи константах;) В этом случае выражение оценивается во время выполнения –