Enumerations

type
  //enums are always ordinal; the storage
  //size follows the value range
  TSeason = (Summer, Fall, Winter, Spring);

  //minimum size can be forced
  {$MINENUMSIZE 4}
  TAlign = (Left, Right, Center);
  {$MINENUMSIZE 1}

begin
  WriteLn('season size is 'SizeOf(TSeason));
  //season size is 1

  WriteLn('align size is 'SizeOf(TAlign));
  //align size is 4

  //string-based enums do not exist:
  //names live in RTTI (GetEnumName)
end.