pascalabcnet/TestSuite/CompilationSamples/Enum1.pas

25 lines
1.1 KiB
ObjectPascal
Raw Permalink Normal View History

// Перечислимый тип
2015-05-14 22:35:07 +03:00
type Months = (January,February,March,April,May,June,July,August,September,October,November,December);
var m: Months;
begin
m := February;
writeln(m);
// Использование констант перечислимого типа после имени типа удобно: после точки intellisense показывает список констант
2015-05-14 22:35:07 +03:00
m := Months.April;
writeln('Следующий месяц: ',m);
2015-05-14 22:35:07 +03:00
Inc(m);
writeln('Следующий месяц: ',m);
2015-05-14 22:35:07 +03:00
m := Succ(m);
writeln('Следующий месяц: ',m);
2015-05-14 22:35:07 +03:00
m := Pred(m);
writeln('Предыдующий месяц: ',m);
2015-05-14 22:35:07 +03:00
Dec(m);
writeln('Предыдующий месяц: ',m);
writeln('Его порядковый номер (нумерация - с нуля): ',Ord(m));
// Ошибки нет
writeln('Месяц перед январем - выход за границы: ',pred(Months.January));
// Ошибки нет
writeln('Месяц после декабря - выход за границы: ',succ(Months.December));
2015-05-14 22:35:07 +03:00
end.