Description |
The Dec procedure decrements the ordinal Variable parameter passed to it.
You can decrement :
Characters | |
Non-floating number types | |
Enumeration types | |
Pointers | |
The decrement is by the base size of the unit. For example, decrementing a Pointer will be by 4 bytes if the pointer points to Words.
Version 1 of Inc decrements by 1 unit.
Version 2 of Inc decrements by Count units.
|
|
Notes |
Dec is equivalent in performance to simple subtraction, or the Pred procedure.
Count can be negative.
|
|
Related commands |
Inc |
|
Increment an ordinal variable |
Pred |
|
Decrement an ordinal variable |
Sqr |
|
Gives the square of a number |
Sqrt |
|
Gives the square root of a number |
Succ |
|
Increment an ordinal variable |
Succ |
|
Increment an ordinal variable |
Sum |
|
Return the sum of an array of floating point values |
|
|
|
Example code : Decrementing characters, numbers and enumerations |
type
TSuit = (Hearts, Clubs, Diamonds, Spades);
var
Character : char;
Number : Integer;
Card : TSuit;
begin // We can decrement characters
Character := 'B';
WriteLn('Character : '+Character);
Dec(Character);
WriteLn('Character-1 : '+Character);
// We can decrement numbers
Number := 23;
WriteLn('Number : '+IntToStr(Number));
Dec(Number, 5);
WriteLn('Number-5 : '+IntToStr(Number));
// We can decrement enumerations
Card := Clubs;
WriteLn('Card starts at Clubs');
Dec(Card);
if Card = Hearts then WriteLn('Card is now Hearts');
if Card = Clubs then WriteLn('Card is now Clubs');
if Card = Diamonds then WriteLn('Card is now Diamonds');
if Card = Spades then WriteLn('Card is now Spades');
end;
|
Show full unit code |
Character : B
Character-1 : A
Number : 23
Number-5 : 18
Card starts at Clubs
Card is now Hearts
|
|