D'après ce que j'ai compris de l'aide un ensemble accepte jusqu'à 256 valeurs et chacune de ces valeurs doit être comprise entre 0 et 255.

Ce qui me laisse penser qu'avec le code suivant chaque variable de ce type peut accepter jusqu'à 256 valeurs et que chaque valeur(rang) est limité à 0,1,2 ou 3.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
type
  TEnsembleEntiers = set of 0..3;
Mais il accepte n'importe quel valeur entre 0 et 255 !
De plus quand je fais le test d'appartenance avec in pour savoir si une valeur appartient à l'ensemble il me dit que 14 et 78 appartiennent à l'ensemble alors que 3 ou 8 n'y appartiennent pas !

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure TForm1.btnEnsembleClick(Sender: TObject);
type
  TEnsembleEntiers = set of 0..3;
var
  ensEntier : TEnsembleEntiers;
begin
  ensEntier:=[1, 3, 8 ,15, 78 ];
 
  if 8 in ensEntier then
    showmessage('Appartient à l''ensemble !')
  else
    ShowMessage('En dehors de l''ensemble');
end;
Au secours !..