Строки

Строки

Строка(рядок) - це послідовність символів кодової таблиці ASCII.

При використанні у виразах рядок береться в одинарні лапки. Кількість символів у рядку (довжина рядка) може динамічно змінюватися від 0 до 255. Для опису даних рядкового типу використовується ідентифікатор string, за яким вказується в квадратних дужках значення максимально допустимої довжини даного рядка. Якщо значення не вказується, то вважається довжина рядка 255 байт.

Змінну рядкового типу можна визначити безпосередньо в розділі опису змінних. Рядкові дані можуть використовуватися в програмі також у якості констант. Опис рядкового типу встановлює максимальну кількість символів, що може вмістити рядок.

Формат опису:
var <ідентифікатор,...> : string [<максимальна довжина рядка>];

Приклад:
ST : string; {опис рядка довжиною 255 символів}
ST1 : string[50]; {опис рядка довжиною 50 символів}

Вирази, в яких операндами служать рядкові дані, називаються рядковими. Вони складаються із рядкових констант, змінних, покажчиків функцій і знаків операцій. Над рядками дозволяється виконувати операції зчеплення й операції відношення.

Операція зчеплення (+) застосовується для з'єднання декількох рядків в один результуючий рядок. Наприклад,'П'+'Е'+'О'+'М'='ПЕОМ'
Довжина результуючого рядка не повинна перевищувати 255 символів.

Операції відношення (=, <, >, <>, <=, >=) здійснюють порівняння двох рядкових операндів і мають пріоритет нижчий, ніж операції зчеплення. Порівняння рядків робиться зліва направо до першого не співпадаючого символу. Довжина того рядка вважається більшою, у якого перший неспівпадаючий символ буде мати більший номер у кодовій таблиці ASCII. Якщо рядки мають різну довжину, але в загальній частині збігаються, вважається, що той рядок менший, у якого довжина менше.
Рядки вважаються рівними, якщо вони рівної довжини і містять однакові символи.

Для присвоєння рядковій змінній значення результату рядкового виразу використовується оператор присвоювання (:=).

До окремих символів у рядку можна звернутися за номером (індексом) даного символу в рядку. Індекс визначається виразом цілого типу, що записується в квадратних дужках за ідентифікатором рядкової змінної або константи.

Процедури для роботи з рядками.

Delete(Str,Poz,N) - вилучення N символів рядка Str, починаючи з позиції Poz. Якщо Poz>255, виникає програмне переривання.

Insert(Str1,Str2,Poz) - вставка рядка Str1 у Str2, починаючи з позиції Poz. Str(Number,St) - перетворення числового значення величини Number і занесення результату в рядок St.

Val(St,Number,Cod) - перетворює значення St у величину цілого або дійсного типу і розміщує результат у Number. Значення St не повинно містити зайвих проміжків на початку і наприкінці рядка. Cod - ціла змінна, значення якої не дорівнює нулю, якщо під час операції перетворення виявлена помилка. Cod буде містити номер позиції першого помилкового символу, а Number не буде визначено.

Функції для роботи з рядками.

Lenght(St) - обчислює поточну реальну довжину в символах рядка St. Результат має цілий тип.

Copy(St,Poz,N) - копіює з St підрядок довжиною N символів, починаючи з позиції Poz. Якщо Poz>Lenght(St), то результатом буде проміжок; якщо Poz>255, то виникне помилка при виконанні.

Pos(St1,St2) - виявляє першу появу в рядку St2 рядка St1. Результат має цілий тип і дорівнює номеру тієї позиції, де знаходиться перший символ рядка St1. Якщо в St2 рядок St1 не знайдений, результат дорівнює 0.

UpCase(Ch) - перетворює малу літеру в велику. Параметр і результат мають літерний тип. Обробляються тільки літери латинського алфавіту.