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?

Était-ce utile?

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
scroll top