Операции над строками
Сцепление (конкатенация) строк осуществляется операцией "+". Например, выражение S1+S2 даст в результате новую строку, в которой после символов строки S1 будут расположены символы строки S2.
Для строк определены операции сравнения >, >=, <, <=, =, <>. Большей считается строка, у которой код первого из не совпавших символов больше. Обратите внимание, оценивается не длина строки, а коды символов. Именно на основе такого способа сравнения упорядочены слова в словарях.
В программах можно обращаться и к отдельным символам строки. Например, S[i] - это символ, расположенный в позиции i строки (индексы отсчитываются от 1, т.е. индекс 1 соответствует первому символу). Выражение S[i] возвращает значение типа Char.
При работе со строками не следует забывать о том, что задание максимального размера строки при ее объявлении не означает, что строка имеет такую длину. Размер строки устанавливается во время операции присваивания значения всей строке, и не изменяется при изменении отдельного символа.
Пусть мы хотим создать строку, состоящую из 15 случайных символов ‘0’ и ‘1’. На первый взгляд может показаться, что процедура, приведенная ниже, даст правильный результат, однако это не так. Фактическая длина строки в этой процедуре равна 0, и такой же она останется после завершения цикла.
procedure TForm1.Button1Click(Sender: TObject);
var s: String[20]; i: integer;
begin
for i:=1 to 15 do s[i] := intToStr(random(2))[1];
edit1.Text:=s;
end;
Желаемый результат мы получим при таком варианте:
procedure TForm1.Button1Click(Sender: TObject);
var s: String[20]; i: integer;
begin
s:='';
for i:=1 to 20 do s := s+intToStr(random(2));
edit1.Text:=s;
end;
-
Некоторые стандартные процедуры и функции для обработки строк
Функция Length
Объявление функции:
function Length (s : String): Integer;
Функция возвращает число символов в строке S, которая передана функции в качестве параметра.
Например, выражение Length(‘Десна’) вернет значение 5.
Функция AnsiUpperCase
Объявления функций:
function AnsiUpperCase (const s : String): String
Функция возвращает новую строку, полученную из s, путем преобразования символов букв к верхнему регистру. Функция AnsiUpperCase применима для латинских и русских текстов.
Например, выражение AnsiUpperCase(‘Десна’) вернет значение ‘ДЕСНА’.
Для использования функции следует подключить модуль SysUtils.
Функция AnsiLowerCase
Объявления функций:
function AnsiLowerCase (const s : String): String
Функция возвращает новую строку, полученную из S, путем преобразования символов букв к нижнему регистру. Функция AnsiLowerCase применима для латинских и русских текстов.
Например, выражение AnsiLowerCase(‘Десна’) вернет значение ‘десна’.
Для использования функции следует подключить модуль SysUtils.
Функция AnsiCompareText
Объявление функции:
function AnsiCompareText (const s1, s2: string): Integer;
Функция сравнивает две строки ANSI s1 и s2 без учета регистра. Возвращает значение < 0, если s1 < s2, 0, если s1 = s2, и > 0, если s1 > s2.
Функция Copy
Объявление функции:
function Copy (s : String; index, count : Integer): String;
Функция возвращает подстроку строки s, начинающуюся с позиции index и содержащую до count символов.
Если index выходит за пределы строки – возвращается пустая строка.
Если count определяет больше символов, чем возможно, возвращается максимально возможное число символов.
Например, выражение Сopy(‘Десна – прекрасная река’, 12, 7) вернет значение ‘красная’.
- Ответственный за выпуск: Бивойно п.Г. , декан факультета электронных и информационных технологий, канд. Техн. Наук, доцент
- Содержание
- 4.1.4 Разработка интерфейса проекта 66
- 5.1.7 Разработка интерфейса проекта 81
- Введение
- Лабораторная работа № 1. Знакомство с интегрированой средой разработки (иср)“Delphi 7”
- Краткие теоретические сведения о иср “Delphi 7”
- Конструктор стартовой формы
- Главное окно иср “Delphi 7”
- Главное меню
- Панели инструментов
- Палитра компонентов
- Окно просмотра дерева объектов
- Окно редактора кода
- Закладка редактора кода модуля
- Закладка редактора кода файла проекта
- Окно Object Inspector
- Закладка описания свойств объекта
- События и процедуры обработки событий
- Создание простейшего проекта
- Разработка интерфейса проекта
- Создание процедуры инициализации приложения
- Создание процедуры вычисления результата
- Улучшение проекта
- Сохранение проекта
- Продолжение работы с проектом на другом компьютере
- Содержание отчета
- Контрольные вопросы и задания
- Рекомендованая литература
- Лабораторная работа № 2. Вещественный тип данных. Расчеты по формулам
- Краткие теоретические сведения
- Язык программирования Object Pascal
- Объекты, переменные и константы
- Классы и типы
- Объявление объектов и переменных
- Вещественный тип данных
- Выражение
- Стандартные функции для данных вещественного типа
- Инструкция присваивания
- Форматирование результатов расчетов
- Создание проекта «Расчет по формуле»
- Создание интерфейса
- Компонент ole-контейнер
- Компонент Group Box
- Компонент Memo
- Завершение работы над интерфейсом
- Создание процедур обработки событий Процедура очистки протокола
- Процедура инициализации формы
- Процедура выполнения расчета по формуле
- Контольный пример
- Трассировка процедуры
- Содержание отчета
- Контрольные вопросы
- Рекомендованая литература
- Лабораторная работа № 3. Подпрограммы Краткие теоретические сведения
- Правила написания подпрограмм
- Описание процедуры
- Вызов процедуры
- Описание функции
- Вызов функции
- Способы передачи параметров в подпрограммы
- Передача параметров по значению
- Передача параметров по наименованию
- Расположение подпрограмм
- Подпрограммы обработки событий класса формы
- Другие подпрограммы класса формы
- Размещение подпрограмм в модуле
- Размещение подпрограмм в других модулях
- Размещение подпрограмм внутри других подпрограмм
- Область действия имен
- Реализация проекта «Процедуры и функции»
- Создание процедур и функций Процедуры инициализации
- Процедура считывания коэффициентов уравнения
- Функция для расчета по формуле
- Использование дополнительного модуля
- Завершение работы над проектом
- Исследование созданного приложения
- Анализ передачи параметров по наименованию
- Анализ передачи параметров по значению
- Содержание отчета
- Контрольные вопросы
- Операции над логическими данными
- Логические выражения
- Разветвляющиеся алгоритмы
- Программирование разветвлений Условный оператор if…then…else
- Оператор варианта case
- Реализация проекта «Организация разветвлений»
- Разработка интерфейса проекта
- Компоненты для работы со списками
- Процедуры обработки событий выбора из списка
- Процедуры обработки событий onKeyPress
- Решение квадратного уравнения
- Содержание отчета
- Контрольные вопросы
- Лабораторная работа № 5. Построение циклов с инструкциями „while” и „repeat”
- Краткие теоретические сведения
- Циклические алгоритмы
- Инструкция while…do
- Инструкция repeat…until
- Прерывание цикла
- Итерационные алгоритмы
- Пример итерационного алгоритма для вычисления кубического корня
- Задание для самостоятельной работы
- Алгоритмы вычисления сумм бесконечных рядов
- Задание для самостоятельной работы
- Создание проекта WhileRepeat
- Разработка интерфейса проекта
- Компоненты PageControl и TabSheet
- Компонент CheckBox
- Создание закладки для вычисления корня
- Создание закладки для вычисления синуса
- Создание процедур и функций Процедура для контроля ввода данных
- Процедура вычисления кубического корня
- Процедура вычисления синуса
- Задания для расчетно-графической работы № 2
- Содержание отчета
- Контрольные вопросы
- Целые типы данных
- Символьные типы данных
- Ограниченный тип данных.
- Применение инструкции цикла for
- Табулирование значений функций
- Форматирование результатов при выводе таблиц
- Строки символов
- Операции над строками
- Процедура Delete
- Процедура Insert
- Функция Pos
- Функции Trim, TrimLeft, TrimRight
- Создание проекта «Применение цикла for»
- Разработка формы «Табулирование функции» Разработка интерфейса
- Создание вспомогательных процедур и функций
- Создание процедуры табулирования функции
- Разработка формы «Таблица “символ-код”» Разработка интерфейса
- Создание процедуры вывода таблицы символ-код
- Разработка формы «Обработка последовательностей целых чисел»
- Разработка интерфейса
- Создание процедуры обработки последовательности целых чисел
- Создание многодокументной (mdi)формы
- Задание для самостоятельной работы
- Содержание отчета
- Контрольные вопросы
- Рекомендованая литература