- •Раздел 10. Структурные типы
- •10.1. Массивы
- •10.1.1. Задание массивов
- •Voz [f] Godrozd [f].
- •Voz [Ivanov] Voz [Petrov]
- •10.1.2. Действия над элементами массивов
- •10.1.3. Действия над массивами
- •10.1.4. Типизованные константы типа массив
- •10.1.5. Уплотнение структурных данных в памяти
- •10.2. Строковые данные
- •10.2.1. Строковые константы
- •10.2.2. Строковые переменные
- •10.2.3. Встроенные функции, определенные над данными строковых типов переменной длины
- •Copy (St, Poz, n)
- •Concat (St1[, St2, ..., StN] )
- •Length (St)
- •UpperCase (St)
- •LowerCase (St)
- •SetLength (St, n)
- •10.2.4. Встроенные процедуры, определенные над данными строковых типов переменной длины
- •Delete (St, Poz, n)
- •Insert (St1, St2, Poz)
- •10.2.5. Строковые ресурсы
10.2.3. Встроенные функции, определенные над данными строковых типов переменной длины
Ниже рассмотрены основные (базовые) функции, предназначенные для обработки коротких и длинных строк переменной длины.
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 значение’русь’}
--------------------------------
Concat (St1[, St2, ..., StN] )
Выполняет сцепление строк в том порядке, в каком они указаны в списке параметров:
St1 + St2 + ... + StN.
St1 ÷ StN – выражения типа String. Возвращаемое значение функции имеет тип String.
Пример 10.19.
Продолжение примера 10.17.
Сцепление строк.
St4 := Concat (St2, ‘a’, St3); {в St4 значение’ Белaрусь’}
----------------------------------
Length (St)
Возвращает текущую длину строки St. Результат имеет тип Integer, St – тип String .
Пример 10.20.
Продолжение примеров 10.17 – 10.18.
Определение текущей длины строки.
I := Length (St4); {I равно 8}
Pos (St1, St2)
Обнаруживает первое появление подстроки St1 в строке St2. Результат имеет тип Byte и равен номеру той позиции, где находится первый символ подстроки St1. Если в строке St2 подстроки St1 не найдено, то результат равен нулю. St1 и St2 имеют тип String.
Пример 10.21.
Продолжение примеров 10.17 – 10.19.
Обнаружение подстроки в строке.
I := Pos (St3, St4); { I равно 5}
UpperCase (St)
Преобразует строчные латинские буквы строки St в прописные. Остальные символы строки возвращает без изменения. Параметр и результат имеют тип String.
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’}
SetLength (St, n)
Устанавливает для строки St новую длину N.
10.2.4. Встроенные процедуры, определенные над данными строковых типов переменной длины
Ниже рассмотрены основные процедуры, предназначенные для обработки коротких и длинных строк переменной длины.
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 значение ‘Мин’}
--------------------------------
