Одно из ценных свойств порядковых и целых типов является в том, что они состоят из строго определенных значений в неизменном порядке. Это понимать следует так: за цифрой 2 следует 3, а символу "B" предшествует - "A".
Довольно просто к 2 прибавить 1 и получить значение следующего элемента 1. Но если в программе необходимо от символа "A" перейти к "B", следующему по алфавиту? добавить единицу? Это не будет иметь никакого смысла, да и язык Delphi этого не позволит. Язык Delphi дает возможность перемещаться вдоль упорядоченных последовательностей.
Inc - процедура, которая принимает один операнд (переменная должна быть целого или любого другого порядкового типа). Значение этой переменной перемещается на следующее в последовательности.
Inc не функция и она не возвращает значение, это надо учитывать при написания кода.
Напишем обработчик кнопки:
procedure TForm1.Button1Click(Sender: TObject); var I : integer; begin I := 2; inc(I); ShowMessage(IntToStr(I)); end;
Целая переменная I в результате применения этой процедуры получит единицу и станет равной трем.
Процедура Dec противоположность Inc. Она отнимает единицу из значения в упорядоченной последовательности и значение становиться предшествующей величиной.
Пусть у нас переменная типа Char равная 'B', то применив процедуру Dec мы получим - 'A'.
procedure TForm1.Button2Click(Sender: TObject); var Ch : Char; begin Ch := 'B'; dec(Ch); ShowMessage(Ch); end;