[Back to NUMBERS SWAG index] [Back to Main SWAG index] [Original]
{ 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.
[Back to NUMBERS SWAG index] [Back to Main SWAG index] [Original]