Writeln('Введіть послідовність символів');Readln(S);Writeln('Ви ввели рядок з ', Length(S), ' символів')
End.
Інший приклад:Вирішимо завдання: "Введений рядок вивести на екран по одному символу в рядку екрану".
Program Str2;Var
S: String;I: Byte;
Begin
Writeln('Введіть рядок');Readln(S);For I :=1 to Length(S) do {організовуємо цикл, починаючи з першого символу}Writeln(S[I]){рядки, до останнього (номер останнього}{співпадає з кількістю символів рядка S)}
End.
Які ж ще дії можна виконувати зі змінними строкового типу?
Дві строкові величини можна зістиковувати. Ця операція називається конкатенацією і позначається знаком "+".
Наприклад, результатом виконання наступних команд :
R:= 'kadabra';
H:= 'abra';
S:=H+R;
у змінній S буде значення 'abrakadabra'.
Для конкатенації результат залежить від порядку операндів (на відміну від операції складання). Слід пам'ятати про те, якої максимальної довжини може бути результуюча змінна, оскільки у разі перевищення значенням вираження числа, вказаного після String в описі змінною, "зайві" символи в змінну не потраплять.
Строкові величини можна порівнювати між собою. Це відноситься також і до строкових змінних. Але як же комп'ютер визначає, який рядок більший:
та, яка довше?
та, яка містить більше заголовних букв?
Насправді така перевірка проходить досить складно: комп'ютер порівнює спочатку перші символи рядків. Великим з двох вважається той, код якого більший (згадайте, що таке код символу). Якщо рівні перші символи, то так само аналізується наступна пара до тих пір, поки не буде знайдено відмінність. Якщо початок рядків співпадає, а одна з них кінчається раніше, то друга автоматично називається більшою.
Код символу в Паскале можна визначити за допомогою функції Ord.
Її формат: Ord(C), де З - або безпосередньо вказаний символ, або змінна символьного типу, або один символ строкової змінної. Взагалі, функція Ord має глибший сенс, але про це - пізніше. Є і зворотна функція, яка повертає символ за відомим кодом. Це функція Chr(N), де N - вираження, що призводить до цілого числа в інтервалі від 0 до 255 (можливі значення коду символу). Очевидно, що Chr(Ord(C))=C, Ord(Chr(N))=N.
Наступна маленька програма виводить на екран кодову таблицю: