Хелпикс

Главная

Контакты

Случайная статья





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



 

6  Обработка символьной информации

Строкастрока-переменная, и строка-константа) — это последовательность символов. При использовании в выражениях строка-константа обязательно заключается в апострофы. Количество символов в строке-переменной (длина строки) может динамически изменяться от 0 до 255. Определение строкового типа устанавливает максимальное количество символов, которое может содержать строка.

Формат описания:

1-ый способ:

Type

имя_типа_строки = string [ максимальная_длина_строки ] ;

Var

имя_строки : имя_типа_строки ;

2-ой способ:

Var

имя_строки : string [ максимальная_длина_строки ] ;

Длина строки может не указываться, в этом случае принимается максимально возможная длина строки, равная 255 символов.

Пример 6.1 ( описания строк ):

Type

MyString = String [ 70 ] ;

Var

St1 : MyString ;

St2 : String ;

St3 : String [ 30 ] ;

Строку можно описать с помощью типизированной константы.

Пример 6.2 ( строка — типизированная константа ):

Сonst

St : String = ’ Сегодня хорошая погода ! ’ ;

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

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

Операция сцепления (+) применяется для сцепления нескольких строк в одну результирующую строку.

Например:

Выражение Результат
'E'+'C'+' 18' +'40'         'EC 1840'

Длина результирующей строки не должна превышать 255.

Операции отношения ( =, <>, <, >, >=, <= ) производят сравнение двух строковых операндов и имеют приоритет более низкий, чем операция сцепления — вначале всегда выполняются все операции сцепления (если они присутствуют), и лишь потом выполняются операции отношения. Сравнение строк производится слева направо до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в стандартной таблице обмена информацией. Результат выполнения операций отношения над строковыми операндами всегда имеет булевский тип и принимает значение True, если выражение истинно, и False, если выражение ложно.

Например:

Выражение Результат
'COSM1' < 'COSM2' ‘ABCD’ < ’ABCDEF’ ‘212’ > ’12345’ True True True

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

Для присваивания строковой переменной результата строкового выражения используется оператор присваивания ( := ).

Допускается смешение в одном выражении операндов строкового и литерного типа. Если при этом литерной переменной присваивается значение строкового типа, длина строки должна быть равна единице, иначе возникает ошибка времени выполнения.

Для обработки строковых данных используются стандартные процедуры и функции.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.