Contributor: HORST KRAEMER { Ok Here is a nice little unit to handle bit operations. } UNIT Bits; INTERFACE function CheckBit(bit_number : byte; byte_on : byte) : boolean; function ChangeBit(bit_number : byte; byte_on : byte) : byte; function BitON(bit_number : byte; byte_on : byte) : byte; function BitOFF(bit_number : byte; byte_on : byte) : byte; IMPLEMENTATION const test : array[0..7] of byte = (1,2,4,8,$10,$20,$40,$80); function CheckBit(bit_number : byte; byte_on : byte) : boolean; begin CheckBit := byte_on and test[bit_number] <> 0 end; function ChangeBit(bit_number : byte; byte_on : byte) : byte; begin ChangeBit := byte_on xor test[bit_number] end; function BitON(bit_number : byte; byte_on : byte) : byte; begin BitON := byte_on or test[bit_number] end; function BitOFF(bit_number : byte; byte_on : byte) : byte; begin BitOFF := byte_on and not test[bit_number] end; end.