Тип даних string
Поряд з тим позитивним, що дають нам масиви літер, вони мають істотний недолік: їх довжину можна змінювати під час виконання програми. Так, описана змінна HAMLET в п. 7.2 є масив з 17 елементів, і, отже, туди можна помістити тільки текст, що містить рівно 17 символів.
Це не завжди зручно. Хотілося б мати таку змінну, в яку можна було б помістити текст довільної (але обмеженою) довжини. Таку можливість надає тип STRING. Так, оголосивши змінну var HAMLET: string [17], можна шляхом оператора присвоювання (а не через цикл) задати їй значення тексту довільної довжини (від 0 до 17), наприклад:
HAMLET: = 'Бути чи не бути';
HAMLET: = 'Бідний Йорик';
Мал. 35. Синтаксична діаграма типу STRING
Загальна форма запису TYPE <имя типа> = STRING [N]; VAR <имя переменной>: <имя типа>; або VAR <имя переменной>: STRING [N];
Тут N - ціла константа, що задає максимальну довжину тексту.
Доступ до елементів рядка проводиться за допомогою індексів, так як в цьому типі також всі елементи мають свій (числовий) індекс від 1 до N. У результаті виходить величина типу CHAR, наприклад:
HAMLET [1] = 'П'; HAMLET [9] = 'А'.
Тип STRING і стандартний тип CHAR сумісні. Рядки і символи можуть вживатися в одних і тих же строкових виразах.
Рядковий вираз складається з строкових (символьних) констант, змінних, покажчиків строкових функцій і операції конкатенації (склеювання) рядків, що позначається знаком «+». Рядки можна порівнювати. В результаті порівняння двох рядків істина виходить тільки в тому випадку, якщо порівнювані рядки збігаються посимвольний і мають однакову довжину (належать одному і тому ж типу).