Сегодня наткнулся на непонятное (с точки зрения Паскаля) поведение FPC. Вот такой простейший код, совершенно корректно отрабатывающий в Турбо Паскале:
type
tset = set of 'a' .. 'z';
const
myset: tset = ['a' .. 'z'];
s: string = 'the test';
count: integer = 0;
var
i: integer;
begin
for i := 1 to length(s) do
begin
if s[ i ] in myset then inc(count);
end;
writeln(count);
end.
Попробуйте без его компиляции и запуска определить, что будет выведено на печать. А потом запустите на выполнение...
Так что осторожнее с множествами...