А я бы не стал делать справочник, как и поля под каждый день недели.
Предыдущий пост по поводу установки битов вполне разумен. Может просто непонятен. Вот 2 функции, которые реализуют преобразование массива флажков в целое число и обратно.
Код:
function BoolArrayToInt(CB : Array Of TCheckBox) : Integer;
begin
If Length(CB) > 32 Then
Raise Exception.Create('Too many checkboxes.');
Result := 0;
For I := Low(CB) To High(CB) Do
Begin
Reesult := Result Shl 1;
If CB[i].Checked Then Result := Result + 1;
End;
end;
procedure IntToBoolArray(AInt : Integer; CB : Array Of TCheckBox);
var
I : Integer;
begin
If Length(CB) > 32 Then
Raise Exception.Create('Too many checkboxes.');
For I := High(CB) DownTo Low(CB) Do
Begin
CB[i].Checked := (AInt Or 1) = 1;
AInt := AInt Shr 1;
End;
end;