Цитата Сообщение от Валенок Посмотреть сообщение
А вот именно в КДС и необязательно с булями возится. Биту дал имя, и обращайся к нему как элементу структуры.
Var
Mask:word;
Const
Who:byte:=3
Mask.Who:=FALSE;

Хочется word'ы раскрыть в онлайне полями как структуру ? bitaccess в помощь.

Ваш способ интересный, но возможны ситуации, когда константа (Who) ошибочно применена ( для индексации положения бита в слове) не к той структуре, для которой она предназначена.
И таких констант в программе при упаковывании битов может быть несколько сотен...

Компилятор такую смысловую ошибку не заметит, ведь синтаксис не нарушен, а константу можно использовать для любых целей

const
who:byte:=3; (*адрес бита в structrure_1 *)
regime:byte:=5; (*адрес бита в structrure_2 *)

strusture_1.who:= FALSE;

structure_2.who:= FALSE;
structure_2.regime:= FALSE; (* ошибка *)

для автоматического выявления такой ошибки, нужно сделать ее синтаксической для компилятора, например объявить who или regime элементами своих структур, а чтобы не было вопросов с выравниванием при сетевом обмене, сделать из 16 битными.

в итоге - за такое удобство придется заплатить тем, от чего пытались уйти.