Description |
The Pred function decrements an ordinal value, and returns this value.
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 2 bytes if the pointer points to Words.
|
|
Notes |
Pred is equivalent in performance to simple subtraction, or the Dec procedure.
|
|
Related commands |
Dec |
|
Decrement an ordinal variable |
Inc |
|
Increment an ordinal variable |
Sqr |
|
Gives the square of a number |
Sqrt |
|
Gives the square root of a number |
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);
Character := Pred(Character);
WriteLn('Character-1 : '+Character);
// We can decrement numbers
Number := 23;
WriteLn('Number : '+IntToStr(Number));
Number := Pred(Number);
WriteLn('Number-1 : '+IntToStr(Number));
// We can decrement enumerations
Card := Clubs;
WriteLn('Card starts at Clubs');
Card := Pred(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-1 : 22
Card starts at Clubs
Card is now Hearts
|
|