If I have a type defined as a set of an enumerated type, it's easy to create an empty set with [], but how do I create a full set?
EDIT: Yeah, the obvious solution is to use a for loop. That's also a really bad solution if there's another way. Does anyone know of a way that'll work in constant time?
From stackoverflow
-
Per Barry's suggestion:
FillChar(VarSet, SizeOf(VarSet), $FF);
-
Low() and High() are "compiler magic" functions that can be evaluated at compile time. This allows their use in constant declarations like the following:
var MySet : TBorderIcons; MySet2 : TBorderIcons; const AllIcons : TBorderIcons = [Low(TBorderIcon)..High(TBorderIcon)]; begin MySet := [Low(TBorderIcon)..High(TBorderIcon)]; MySet2 := AllIcons; end;
F.D.Castel : Dude! That was GOOD! ;) Thank you!F.D.Castel : I'm even deleting my own answer, after that ;)
0 comments:
Post a Comment