Enumerations

uses System.TypInfo;

type
  TSeason = (Summer, Fall, Winter, Spring);

var
  Season: TSeason;
begin
  //enums iterate over the ordinal range
  for Season := Low(TSeason) to High(TSeason) do
    WriteLn(GetEnumName(
      TypeInfo(TSeason), Ord(Season)));
end.