Una delle caratteristiche del linguaggio Delphi non presenti in altre lingue moderne è la nozione di set.
Delphi di impostare il tipo è una raccolta di valori dello stesso tipo ordinale.
Un set viene definito usando set di parola chiave:
I tipi di set sono generalmente definiti con subrange.
Nell'esempio sopra, TMagicNumber è un tipo subrange personalizzato che consente alle variabili del tipo TMagicNumber di ricevere valori da 1 a 34. In poche parole, un tipo subrange rappresenta un sottoinsieme dei valori in un altro tipo ordinale.
I valori possibili del tipo di set sono tutti i sottoinsiemi del tipo di base, incluso il set vuoto.
Una limitazione sui set è che possono contenere fino a 255 elementi.
Nell'esempio sopra, il tipo di set TMagicSet è un set di elementi TMagicNumber - numeri interi compresi tra 1 e 34.
La dichiarazione TMagicSet = set di TMagicNumber è uguale alla seguente dichiarazione: TMagicSet = set di 1 ... 34.
Nell'esempio sopra, le variabili emptyMagicSet, oneMagicSet e anotherMagicSet sono set di TMagicNumber.
Per assegnare un valore in una variabile di tipo set, utilizzare le parentesi quadre ed elencare tutti gli elementi dell'insieme. Come in:
Nota 1: ogni variabile di tipo set può contenere l'insieme vuoto, indicato da [].
Nota 2: l'ordine degli elementi in un set non ha significato, né è significativo che un elemento (valore) sia incluso due volte in un set.
Per verificare se un elemento è incluso nel set (variabile) utilizzare il NEL parola chiave:
Allo stesso modo in cui puoi sommare due numeri, puoi avere un set che è la somma di due set. Con i set il tuo evento ha più operatori: