2. Строковые выражения

Выражения, в которых операндами служат строки, являются строковыми выражениями. Результат - строка. Опишем операции, которые можно применять при написании строковых выражений:

Операция сцепления, знак операции '+'.

'Дом'+' номер'+'43' дает результирующую строку 'Дом номер 43'.

Операции отношения: =, < >, >, <, >=, <=.

Операции отношения выполняются раньше операции сцепления, т.е. имеют более высокий приоритет.

Сравнения между строками производятся посимвольно, слева направо, до первого несовпадающего символа. Та строка считается больше, в которой первый несовпадающий символ имеет больший код по таблице кодов. Результаты сравнения - True или False.

Если строки имеют различную длину и более короткая совпадает с началом более длинной, то последняя считается большей.

При использовании оператора присваивания, если значение результата вычисления строкового выражения имеет большую длину, чем ячейка памяти, в которую записывается результат, то лишние правые символы отбрасываются. Если значение результата вычисления строкового типа короче, чем ячейка памяти, отведенная для его хранения, то результат записывается в ячейку памяти «прижатым» вправо, а лишние левые разряды заполняются пробелами.

Допускается при записи выражений строкового типа применять данные, описанные с атрибутом char. В этом случае эти данные интерпретируются как string [ 1]. К отдельным символам данного строкового типа можно обратиться по номеру этого символа в строке (аналогично индексу в массивах). В нулевом байте хранится длина строки.

Program Prim 39;
var
st1,st2:string[30];
BEGIN
st1:='отдел № 256';
writeln(st1); {на экране "отдел № 256"}
st2:=st1[10];
writeln(st2); {на экране "5"}
writeln(ord(st1[0])); {на экране "11"}

readln;
END.

Если бы в var было указано string[10], то writeln(st1), вывел бы результат "отдел № 25"