Jupp, Delphi kann nur Byteweise programmiert werden.
Selbst der Boolean ist ein Byte groß (1x False und 255x True)
Aber über Record-Property kannst du das selber lösen.
Delphi-Quellcode:
type
TMyRec = record
private
function GetBit0: Boolean;
function GetBool(Index: Integer): Boolean;
procedure SetBool(Index: Integer; Value: Boolean);
function GetByte(Index: Integer): Byte;
procedure SetByte(Index: Integer; Value: Byte);
public
FFields: LongWord;
property Bit0: Boolean read GetBit0 write GetBit0;
property Bit1: Boolean index 1 read GetBool write SetBool;
property Bit2: Boolean index 2 read GetBool write SetBool;
property Bit3bis4: Byte index 0302 read GetByte write SetByte; // 2 lang, ab der 3
end;
Und dann in den Gettern/Settern die gewünschten Bits rausholen.