$PACKENUM : Minimum enumeration type size

This directive tells the compiler the minimum number of bytes it should use when storing enumerated types. It is of the following form:

 {$PACKENUM xxx}
 {$MINENUMSIZE xxx}
Where the form with $MINENUMSIZE is for Delphi compatibility. xxx can be one of 1,2 or 4, or NORMAL or DEFAULT.

As an alternative form one can use {$Z1}, {$Z2} {$Z4}. Contrary to Delphi, the default is ({$Z4}).

So the following code

 {$PACKENUM 1}
 Type
   Days = (monday, tuesday, wednesday, thursday, friday,
           saturday, sunday);
will use 1 byte to store a variable of type Days, whereas it nomally would use 4 bytes. The above code is equivalent to
 {$Z1}
 Type
   Days = (monday, tuesday, wednesday, thursday, friday,
           saturday, sunday);