Node:Dec, Next:, Previous:Date, Up:Reference



Dec

Synopsis

For ordinal types:

procedure Dec (var x: ordinal_type);
or
procedure Dec (var x: ordinal_type; Amount: Integer);

For pointer types:

procedure Dec (var p: any_pointer_type);
or
procedure Dec (var p: any_pointer_type; Amount: Integer);

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.