Расширенный синтаксис (разрешенный по директиве компилятора
{$X+}) поддерживает несколько операций с указателями на PChar.
Для увеличения и уменьшения смещения указателя можно использовать
операции + и -. Минус можно также использовать для вычисления
расстояния (разности) между двумя символьными указателями. Если P
и Q - это значения типа PChar, а I - значение типа Word, то до-
пустимы следующие конструкции:
Допустимые конструкции PChar Таблица 6.7
┌───────────────┬───────────────────────────────────────────────┐
│ Операция │ Результат │
├───────────────┼───────────────────────────────────────────────┤
│ P + I │ Сложение I со смещением P. │
│ I + P │ Сложение I со смещением P. │
│ P - I │ Вычитание I из смещения P. │
│ P - Q │ Вычитает смещение Q из смещения P. │
└───────────────┴───────────────────────────────────────────────┘
Операции P + I и I + P складывает I c адресом, заданным P,
создавая указатель, ссылающийся на I символов после P. Операция P
- I вычитает I из адреса, заданного P, создавая указатель, ссыла-
ющийся на I символов перед P.
Операция P - Q вычитает расстояние между Q (младший адрес) и
P (старший адрес), создавая в результате значение типа Word, по-
казывающее число символов между Q и P. Эта операция подразумева-
ет, что P и Q ссылаются на один символьный массив. Если два сим-
вольный указателя ссылаются на разные массивы, то результат будет
не определен.