Os tipos sub-faixas possuem valores numa determinada escala (que pode ser constituída de números ou letras.
Exemplo:
program tipo_sub_faixa; type Tipo_um_a_cinco = 1 .. 5; // Vai de 1 ate 5 Tipo_a_a_f = 'a' .. 'f'; // Vai de a ate f var Numero: Tipo_um_a_cinco; Letra: Tipo_a_a_f; begin Numero := 3; // OK. Esta na faixa writeln(Numero); Letra := 'p'; // OK. Esta na faixa writeln(Letra); Letra := 'z'; // Esta fora da faixa estabelecida. O compilador mostrara um warning writeln(Letra); end.