Масиви
Оскільки невід'ємна довжина значення-рядка подається в одному байті, вона не може перевищувати 255. Звідси "маємо, те що маємо", тобто обмеження 255 на довжини рядків. Ім'я типу string еквівалентне виразові string[255].
Найпростішими виразами типу рядок є ім'я змінної-рядка, рядкова стала (літерал), або вираз типу char. Над рядками означена бінарна операція катенації (або дописування); її знаком є '+'. Результат одержується дописуванням правого операнда до лівого: значенням виразу '123'+'45' є '12345'. Ціла довжина рядка повертається з виклику функції length із аргументом-рядком: length('123') = 3.
Рядки – єдиний нескалярний тип, змінні та вирази якого можуть бути аргументами стандартних процедур читання та запису. Особливості виконання цих процедур розглядаються в розділі 14. Рядки також можуть повертатися як значення функцій.
Вираз типу "рядок" можна присвоїти змінній-рядку. Його символи присвоюються елементам змінної, починаючи з першого. Якщо довжина значення більша максимально можливої довжини n змінної, то присвоюються лише n перших символів. При цьому довжина значення (або n) неявно присвоюється додатковому компоненту змінної-рядка (як символ нульовому елементу масиву). Наприклад, нехай змінна s означена як string[3]. Після присвоювання
s:='12345'
чотири її компоненти з індексами 0, 1, 2, 3 матимуть значення chr(3), '1', '2', '3', а після
s:='12'
– chr(2), '1', '2', а останній компонент буде недоступним, і його значення буде "сміттям". За останнього значення змінної s виконання оператора
s:=s+'9'
надасть їй значення '129', а оператора
s:='9'+s
– значення '912'. В обох випадках s[0]=chr(3). Після присвоювання s:='' змінна s подає порожній рядок: s[0]=chr(0), а решта елементів недоступні.
Змінити довжину значення можна явно, змінивши нульовий символ. Якщо після s:='' виконати s[0]:=2, то значення компонентів із індексами 1 і 2 зі "сміття" перетворяться на значення-рядок. Присвоювання іншим елементам рядка не змінює довжини його значення.
У типах рядків означено операції порівняння =, <>, <, … . За означенням, рядки рівні, якщо мають ту саму довжину, і в її межах відповідні символи однакові. У противному разі вони не рівні. Упорядкування рядків залежить від системи програмування.
У мові Турбо Паскаль, якщо length(s1)
У системі програмування Турбо Паскаль означено також багато корисних підпрограм обробки рядків. Розглянемо лише чотири з них.
Функція з заголовкомfunction copy ( s : string; ind, cnt : byte ) : string
задає повернення підрядка рядка s, що починається з s[ind] і має довжину cnt. Наприклад, copy('abcd', 2, 2)='bc'.
Функція з заголовком
function pos ( subs, s : string ) : byte