Quick start manual
Data types, variables, and constants
5-3
Simple types
Simple types
Simple types, which include ordinal types and real types, define ordered sets of
values.
Ordinal types
Ordinal types include integer, character, Boolean, enumerated, and subrange types. An
ordinal type defines an ordered set of values in which each value except the first has
a unique predecessor and each value except the last has a unique successor. Further,
each value has an ordinality which determines the ordering of the type. In most cases,
if a value has ordinality n, its predecessor has ordinality n–1 and its successor has
ordinality n+1.
• For integer types, the ordinality of a value is the value itself.
• Subrange types maintain the ordinalities of their base types.
• For other ordinal types, by default the first value has ordinality 0, the next value
has ordinality 1, and so forth. The declaration of an enumerated type can explicitly
override this default.
Several predefined functions operate on ordinal values and type identifiers. The most
important of them are summarized below.
For example, High(Byte) returns 255 because the highest value of type Byte is 255, and
Succ(2) returns 3 because 3 is the successor of 2.
The standard procedures Inc and Dec increment and decrement the value of an
ordinal variable. For example, Inc(I) is equivalent to I := Succ(I) and, if I is an
integer variable, to I := I + 1.
Function Parameter Return value Remarks
Ord ordinal expression ordinality of expression’s
value
Does not take Int64
arguments.
Pred ordinal expression predecessor of expression’s
value
Succ ordinal expression successor of expression’s
value
High ordinal type identifier or
variable of ordinal type
highest value in type Also operates on short-string
types and arrays.
Low ordinal type identifier or
variable of ordinal type
lowest value in type Also operates on short-string
types and arrays.