Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка - Основи програмування і алгоритмічні мови.DOC
Скачиваний:
29
Добавлен:
02.05.2014
Размер:
512.11 Кб
Скачать

I,j:Word;

BEGIN

. . .

res:=Str1+i; { res вказує на i символів далі, ніж Str1 }

res:=Str2–i; { res вказує на i символів ближче, ніж Str2 }

j:=Str1–Str2; { j дорівнює числу символів між Str1 та Str2 }

END.

Стандартний синтаксис Borland Pascal дозволяє при порівнянні вказівників визначати тільки їх рівність або нерівність. Розширений же синтаксис (при включеній директиві {$X+}) допускає до значень типу PChar застосовувати також і операції <, >, >=, <=, але при умові, що два порівнювальних вказівника вказують на один і той же масив символів.

Для підтримки операцій з ASCIIZ-рядками до комплекту постачання Borland Pascal включено стандартний модуль Strings з наступними функціями:

StrCat

– додає один рядок до кінця другого рядка та повертає вказівник на результуючий рядок;

StrComp

– порівнює два рядки S1 та S2. Якщо S1<S2, то результатом буде від’ємне число; якщо S1=S2, то результатом буде 0; якщо S1>S2, то результатом буде додатне число;

StrCopy

– копіює значення одного рядка в інший. Повертає вказівник на початок результуючого рядка;

StrDispose

– знищує рядок, розподілений раніше за допомогою функції StrNew;

StrECopy

– копіює значення одного рядка в інший. Повертає вказівник на кінець результуючого рядка;

StrEnd

– повертає вказівник на нульовий символ, який завершує рядок;

StrIComp

– порівнює два рядки аналогічно StrComp, але без різниці регістра символів;

StrLCat

– приєднує початковий рядок до кінця цільового рядка. При цьому довжина результуючого рядка не перевищує заданого максимуму. Вказівник повертається на рядок-результат;

StrLComp

–порівнює два рядки з заданою максимальною довжиною;

StrLCopy

– копіює задане число символів із початкового рядка в результуючий рядок і повертає вказівник на результуючий рядок;

StrLen

– повертає довжину рядка;

StrLIComp

– порівнює два рядки з заданою максимальною довжиною без різниці регістра символів;

StrLower

– перетворює рядок в нижній регістр та повертає вказівник на нього;

StrMove

– переміщає послідовність символів із початкового рядка в цільовий рядок та повертає вказівник на цільовий рядок;

StrNew

– виділяє для рядка пам’ять в динамічно розподіленій області;

StrPas

– перетворює рядок, який завершується нулем, в рядок Паскаля;

StrPCopy

– копіює рядок Паскаля в рядок, який завершується нулем, та повертає вказівник на останній рядок;

StrPos

– повертає вказівник на перше входження заданого подрядка в рядок, або nil, якщо шуканий підрядок в рядку не міститься;

StrRScan

– повертає вказівник на останнє входження вказаного символу в рядок, або nil, якщо символ в рядку відсутній;

StrScan

– повертає вказівник на перше входження вказаного символу в рядок, або nil, якщо символ в рядку відсутній;

StrUpper

– перетворює рядок в верхній регістр та повертає вказівник на нього.