Name

Dec Procedure

Syntax

procedure Dec(var Variable);
procedure Dec(var Variable; Count: Integer);

Description

The Dec procedure decrements a variable. You can decrement any ordinal-type variable or pointer-type variable. You cannot use Dec to decrement a floating-point variable.

Decrementing a pointer adjusts the pointer by the size of the base type. For example, decrementing a pointer to AnsiChar decreases the pointer value by 1, and decrementing a pointer to WideChar decreases the pointer value by 2.

The default is to decrement the variable by 1 unit, but you can supply an integer to decrement by a different amount. When decrementing a pointer, Count is multiplied by the size of the base type.

The Dec procedure is built-in and is not a real procedure.

Tips and Tricks

  • Count can be negative, in which case the variable’s value increases.

  • There is little performance difference between Dec, Pred, or subtraction. That is, the following all result in similar object code:

Dec(X);
X := Pred(X);
X := X - 1;    // if X is an integer or PChar type
  • You cannot use a property for the variable because a property value cannot be used as a var parameter. Use a simple assignment instead.

See Also

High Function, Inc Procedure, Low Function, Pred Function, Succ Function

Get Delphi in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.