Comment remplir un ensemble Delphi?
Question
Si j'ai un type défini comme un ensemble de un type énuméré, il est facile de créer un ensemble vide avec [], mais comment puis-je créer un ensemble complet ?
EDIT: Ouais, la solution évidente est d’utiliser une boucle for. C'est aussi une très mauvaise solution s'il existe un autre moyen. Est-ce que quelqu'un connaît un moyen de fonctionner en temps constant?
La solution
Low () et High () sont "magiques du compilateur" fonctions pouvant être évaluées au moment de la compilation. Cela permet leur utilisation dans les déclarations de constante comme suit:
var MySet : TBorderIcons; MySet2 : TBorderIcons; const AllIcons : TBorderIcons = [Low(TBorderIcon)..High(TBorderIcon)]; begin MySet := [Low(TBorderIcon)..High(TBorderIcon)]; MySet2 := AllIcons; end;
Autres conseils
Selon la suggestion de Barry:
FillChar(VarSet, SizeOf(VarSet), $FF);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow