Код: Выделить всё
mask=Set(16384)
byte = AttribGetDefault ( My_Obj , LinkID_0 , byte_atr , 0 )
...
and
прочитать значение бита по маске
byte = Set (if( number(f_ExecSQLSelect_2('select cast('+string(byte)+' as int) & cast('+string(mask)+' as int)' ,'','') )=0,0,1 ))
...
или or-'|' или xor '^'
...
или not
byte = Set ( number(f_ExecSQLSelect_2('select ~cast(byte as tinyint)','','')))
2 Крупский
это тоже конечно всем известно но я например раньше не знал об этом
и использовал такой неудобоваримый код как
Код: Выделить всё
byte = Set ( if(abs( Int (byte /mask) - Int (byte / (mask*2) )*2 )=0,'0','1') )
...and
byte = Set ( byte-mask )
...or
byte = Set ( byte+mask)

