Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел 10 Структурные типы v1.doc
Скачиваний:
5
Добавлен:
01.03.2025
Размер:
244.22 Кб
Скачать

10.2.3. Встроенные функции, определенные над данными строковых типов переменной длины

Ниже рассмотрены основные (базовые) функции, предназначенные для обработки коротких и длинных строк переменной длины.

  1. Copy (St, Poz, n)

Выделяет из строки St подстроку длиной N символов, начиная с позиции Poz. Если Poz больше длины строки, то результат – пустая строка. Если Poz + N больше текущей длины St, результатом будут последние символы St, начиная с позиции Poz. Если Poz больше 255, возникает ошибка выполнения.

St – выражение типа String или динамический массив; Poz, N – выражения типа Integer. Возвращаемое значение функции иеет тип String.

Пример 10.18.

Выделение подстроки. Раздел описаний переменных дан с учетом последующих примеров.

Var

St1, St2, St3, St4: String;

I: Integer;

Begin

St1 := ‘Беларусь’;

St2 := Copy (St1, 1, 3); {в St2 значение ‘Бел’}

St3 := Copy (St1, 5, 8); {в St3 значение’русь’}

--------------------------------

  1. Concat (St1[, St2, ..., StN] )

Выполняет сцепление строк в том порядке, в каком они указаны в списке параметров:

St1 + St2 + ... + StN.

St1 ÷ StN – выражения типа String. Возвращаемое значение функции имеет тип String.

Пример 10.19.

Продолжение примера 10.17.

Сцепление строк.

St4 := Concat (St2, ‘a’, St3); {в St4 значение’ Белaрусь’}

----------------------------------

  1. Length (St)

Возвращает текущую длину строки St. Результат имеет тип Integer, St тип String .

Пример 10.20.

Продолжение примеров 10.17 – 10.18.

Определение текущей длины строки.

I := Length (St4); {I равно 8}

  1. Pos (St1, St2)

Обнаруживает первое появление подстроки St1 в строке St2. Результат имеет тип Byte и равен номеру той позиции, где находится первый символ подстроки St1. Если в строке St2 подстроки St1 не найдено, то результат равен нулю. St1 и St2 имеют тип String.

Пример 10.21.

Продолжение примеров 10.17 – 10.19.

Обнаружение подстроки в строке.

I := Pos (St3, St4); { I равно 5}

  1. UpperCase (St)

Преобразует строчные латинские буквы строки St в прописные. Остальные символы строки возвращает без изменения. Параметр и результат имеют тип String.

  1. LowerCase (St)

Преобразует заглавные латинские буквы строки St в строчные. Остальные символы строки возвращает без изменения. Параметр и результат имеют тип String.

Пример 10.22.

Продолжение примеров 10.17 – 10.20.

Преобразование строчных латинских букв в прописные и наоборот.

St1 := ‘Минск is a capital of Belarus’;

St1 := UpperCase (St1); {в St1 значение ‘Минск IS A CAPITAL OF BELARUS’}

St1 := LowerCase (St1); {в St1 значение ‘Минск is a capital of belarus’}

  1. SetLength (St, n)

Устанавливает для строки St новую длину N.

10.2.4. Встроенные процедуры, определенные над данными строковых типов переменной длины

Ниже рассмотрены основные процедуры, предназначенные для обработки коротких и длинных строк переменной длины.

  1. Delete (St, Poz, n)

Удаляет N символов строки St, начиная с позиции Poz. Если Poz больше текущей длины строки, строка St не изменяется. Если Poz + N больше текущей длины строки, то удаляется конец строки, начиная с позиции Poz. St имеет тип String, а Poz и N Integer.

Пример 10.23.

Удаление подстроки. Раздел описаний переменных дан с учетом последующих примеров.

Var

St1, St2, St3, St4: String;

I, I1, Cod, Cod1: Integer;

Begin

St1 := ‘Минск’;

Delete (St1, 4, 2); {в St1 значение ‘Мин’}

--------------------------------