Next: , Previous: Date, Up: Reference



Dec

Synopsis

For ordinal types:

     procedure Dec (var x: ordinal_type);

or

     procedure Dec (var x: ordinal_type; Amount: and_integer_type);

For pointer types:

     procedure Dec (var p: any_pointer_type);

or

     procedure Dec (var p: any_pointer_type; Amount: and_integer_type);

Description

For ordinal types, Dec decreases the value of x by one or by amount if specified.

If the argument p is pointing to a specified type (typed pointer), Dec decreases the address of p by the size of the type p is pointing to or by amount times that size respectively. If p is an untyped pointer (i.e. p is of type Pointer), p is decreased by one, otherwise by amount if specified.

Conforming to

Dec is a Borland Pascal extension. The combination of the second argument with application to pointers is a GNU Pascal extension.

Example

     program DecDemo;
     var
       x: Integer;
       y: array [1 .. 5] of Integer;
       p: ^Integer;
     begin
       x := 9;
       Dec (x, 10);  { yields -1 }
       {$X+}         { Turn on extended systax }
       p := @y[5];   { p points to y[5] }
       Dec (p, 3)    { p points to y[2] }
     end.

See also

Inc, Pred, Succ, Pointer Arithmetics.