Вирази, в яких операндами служать рядкові дані, називаються рядковими виразами. Вони складаються з рядкових констант, змінних, покажчиків функ-цій і знаків операцій. Над рядковими даними допустимі операція зчеплення і операції відносини.
Операція зчеплення (+) застосовується для зчеплення декількох рядків в одну результуючу рядок.
Вираз 'А' + 'Т' + '' + '386' 'Турбо' + 'Паскаль +' 7.0 '
Результат 'AT 386' Турбо Паскаль 7.0 '
Слід враховувати, що в операціях зчеплення довжина результуючого рядка не повинна перевищувати 255.
Операції відносини (=, <>,>, <,>=, <=) проводят сравнение двух строковых операндов и имеют приоритет более низкий, чем операция сцепления, т. е. вначале всегда выполняются все операции сцепления, если они присутствуют, и лишь потом реализуются операции отношения. Сравнение строк производится слева напра-во до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в стандартной таблице обмена информацией. Результат выполнения операций отношения над строковыми операндами всегда имеет булевский тип и принимает значение True, если выражение истинно, и False. если выражение ложно. Например:
Вираз 'MS-DOS'<'MS-Dos' 'programm'>'Programm'
Результат True True
Якщо рядки мають різну довжину, але в загальній частині символи збігаються, вважається, що більш короткий рядок менше, ніж довша. Рядки вважають-ся рівними, якщо вони повністю збігаються по довжині і містять одні й ті ж сім-воли.
Для присвоювання строкової змінної результату строкового вираження використовується оператор присвоювання (: =).
Strl: = 'Група, учнів';
Str2: = Strl + 'школи-ліцею';
Fio: = 'Бочаров А.А.';
Якщо значення змінної після виконання оператора присвоювання перевищує по довжині максимально допустиму при описі величину, всі зайві символи праворуч відкидаються.
Опис А Вираз Значення А
A: String [6] А: = 'ГРУПА 1'; 'ГРУПА'
Допускається змішання в одному вираженні операндів строкового і літерного типу. Якщо при цьому литерной змінної присвоюється значення строкового ти-па, довжина рядка повинна дорівнювати одиниці, інакше виникає помилка виконан-ня.
До окремих символів рядка можна звернутися за номером (індексом) даного символу в рядку. Індекс визначається виразом цілочисельного типу, яке записується в квадратних дужках відразу за ідентифікатором строкової змін-ної або константи.
Наприклад, вирази Str2 [l + 2] і Str2 [6] забезпечать доступ до третього ( 'у') і шостому ( 'а') символам останнього значення змінної Str2 в наведеному вище прикладі (див. Приклад 1).
Запис Str2 [0] дає доступ до нульового байту, який містить значення поточної довжини рядка. Значення нульового байта не повинно перевищувати 255, але порушення цього правила не викликає програмного переривання, так як директива Компільо-тора R за замовчуванням знаходиться в пасивному стані. Для забезпечення суворого контролю за діапазоном допустимих значень індексу слід перевести директиву R в активний стан. В цьому випадку компілятор активізує додаткові команди для перевірки правильності діапазону. Зазвичай актив-ний режим R встановлюється на стадії налагодження програм.