Как заполнить набор Delphi?
Если у меня есть тип, определенный как набор перечисляемого типа, легко создать пустой набор с помощью [], но как создать полный набор?
EDIT: Да, очевидным решением является использование цикла for. Это также очень плохое решение, если есть другой способ. Кто-нибудь знает способ, который будет работать в постоянное время?
Ответы
Ответ 1
Low() и High() - это "магия компилятора", которые могут быть оценены во время компиляции.
Это позволяет использовать их в постоянных объявлениях следующим образом:
var
MySet : TBorderIcons;
MySet2 : TBorderIcons;
const
AllIcons : TBorderIcons = [Low(TBorderIcon)..High(TBorderIcon)];
begin
MySet := [Low(TBorderIcon)..High(TBorderIcon)];
MySet2 := AllIcons;
end;
Ответ 2
В предположении Барри:
FillChar(VarSet, SizeOf(VarSet), $FF);