Una dintre caracteristicile limbajului Delphi care nu se regăsesc în alte limbi moderne este noțiunea de seturi.
Delphi tip set este o colecție de valori de același tip ordinal.
Un set este definit folosind set de cuvinte cheie:
Tipurile de seturi sunt de obicei definite cu subranges.
În exemplul de mai sus, TMagicNumber este un tip subrange personalizat care permite variabilelor de tipul TMagicNumber să primească valori de la 1 la 34. Mai simplu spus, un tip de subrange reprezintă un subset de valori în alt tip ordinal..
Valorile posibile ale tipului de set sunt toate subseturile tipului de bază, inclusiv setul gol.
O limitare a seturilor este aceea că pot conține până la 255 de elemente.
În exemplul de mai sus, tipul de set TMagicSet este un set de elemente TMagicNumber - numere întregi de la 1 la 34.
Declarația TMagicSet = set de TMagicNumber este egal cu următoarea declarație: TMagicSet = set de 1 ... 34.
În exemplul de mai sus, variabilele emptyMagicSet, oneMagicSet și anotherMagicSet sunt seturi de TMagicNumber.
La alocați o valoare la o variabilă de tip set, utilizați parantezele pătrate și enumerați toate elementele setului. Ca în:
Notă 1: fiecare variabilă de tip set poate conține setul gol, notat cu [].
Nota 2: ordinea elementelor dintr-un set nu are niciun sens și nici nu are sens pentru un element (valoare) să fie inclus de două ori într-un set.
Pentru a testa dacă un element este inclus în set (variabilă) folosiți ÎN cuvinte cheie:
În același mod puteți însuma două numere, puteți avea un set care este suma a două seturi. Cu seturi, evenimentul dvs. are mai mulți operatori: