Frage
Wenn ich eine Art definiert als Satz ein Aufzählungstyp, ist es einfach eine leere Menge mit [], zu schaffen, aber wie erstelle ich ein voll set ?
EDIT: Ja, die offensichtliche Lösung ist ein for-Schleife zu verwenden. Das ist auch eine wirklich schlechte Lösung, wenn es eine andere Möglichkeit gibt. Kennt jemand eine Weise, die in konstanter Zeit arbeiten werden?
Lösung
Low () und Hoch () sind „Compiler Magie“ Funktionen, die bei der Kompilierung ausgewertet werden können. Dies ermöglicht ihre Verwendung in konstanten Erklärungen wie folgt aus:
var MySet : TBorderIcons; MySet2 : TBorderIcons; const AllIcons : TBorderIcons = [Low(TBorderIcon)..High(TBorderIcon)]; begin MySet := [Low(TBorderIcon)..High(TBorderIcon)]; MySet2 := AllIcons; end;
Andere Tipps
Per Barry Vorschlag:
FillChar(VarSet, SizeOf(VarSet), $FF);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow