我如何填写德尔福集?

Mas*_*ler 10 delphi set

如果我将类型定义为枚举类型的集合,则使用[]创建空集很容易,但如何创建完整集?

编辑:是的,显而易见的解决方案是使用for循环.如果有另一种方式,这也是一个非常糟糕的解决方案.有谁知道一种在恒定时间内工作的方式?

Ger*_*oll 14

Low()和High()是可以在编译时评估的"编译魔术"函数.这允许它们在如下的常量声明中使用:

var
  MySet : TBorderIcons;
  MySet2 : TBorderIcons;
const
  AllIcons : TBorderIcons = [Low(TBorderIcon)..High(TBorderIcon)];
begin
  MySet := [Low(TBorderIcon)..High(TBorderIcon)];
  MySet2 := AllIcons;
end;


Jim*_*eth 7

Per Barry的建议:

FillChar(VarSet, SizeOf(VarSet), $FF);
Run Code Online (Sandbox Code Playgroud)