Type
TBoolBits = array[0..7] of boolean;
TBoolBitsArray = array of TBoolBits;
TByteArray = array of byte;
Procedure BytesToBoolBits(const ByteArray: TByteArray;
var BoolBitsArray : TBoolBitsArray);
var i, L: integer;
begin
L := Length(ByteArray);
SetLength(BoolBitsArray, L);
for I := 0 to L-1 do
begin
BoolBitsArray[I,7] := (ByteArray[I] and $80) = $80;
BoolBitsArray[I,6] := (ByteArray[I] and $40) = $40;
BoolBitsArray[I,5] := (ByteArray[I] and $20) = $20;
BoolBitsArray[I,4] := (ByteArray[I] and $10) = $10;
BoolBitsArray[I,3] := (ByteArray[I] and $08) = $08;
BoolBitsArray[I,2] := (ByteArray[I] and $04) = $04;
BoolBitsArray[I,1] := (ByteArray[I] and $02) = $02;
BoolBitsArray[I,0] := (ByteArray[I] and $01) = $01;
end;
end;