
- •Глава 1
- •Структура модуля
- •Интерфейс
- •Реализация
- •Инициализация и завершение
- •Ключевые слова
- •Ключевое слово const
- •Ключевое слово type
- •Комментарии
- •Переменные
- •Типы данных и переменные
- •Преобразование типов
- •Знаки операций
- •Константы
- •Массивы
- •Одномерные массивы
- •Многомерные массивы
- •Функции Low и High
- •Динамические массивы
- •Короткая строка
- •Длинная строка
- •Операции со строками
- •Разбиение литерала по строкам программы
- •Строковые функции
- •Множества
- •Совместимость типов данных
- •Примечание.
- •Указатели
- •Статические и динамические переменные
- •Размещение динамических переменных
- •Разыменование указателя
- •Глава 2.
- •Вложенные условия. Операторы if могут быть вложены друг в друга произвольное число раз:
- •Элементы структуры цикла
- •Цикл for…
- •Цикл for с увеличением счетчика синтаксически определен как
- •Цикл for с уменьшением счетчика в общем случае имеет следующий вид
- •Функции Pred и Succ
- •Цикл while
- •Синтаксис цикла while имеет вид
- •Цикл repeat
- •Управление циклами
- •Оператор goto
- •Оператор case
- •Область видимости идентификаторов
- •Пример записи
- •Оператор with
- •Массивы записей
- •Подпрограммы
- •Процедуры и функции
- •Объявление и определение подпрограммы
- •Параметры подпрограмм
- •Локальные процедуры и функции
- •Перегрузка подпрограмм
- •Параметры по умолчанию
- •Глава 3
- •Анатомия класса
- •Наследование
- •Ключевые слова is и as
- •Что такое класс?
- •Анатомия класса
- •Указатель Self
- •Пример класса
- •Анализ объявления и реализации
- •Наследование
- •Перекрытие методов
- •Ключевые слова is и as
Операции со строками
Слияние
Чаще всего используется операция слияния строк, для чего применяют знак сложения (+):
var
S1 : string;
S2 : string;
begin
S1 := 'Аппаратура;
S2 := 'работает нормально';
Label1.Caption := S1 + ' ' + S2;
end;
Последний оператор этого кода выполняет слияние трех строк – переменной S1, литерала «пробел» и переменной S2. Результат слияния присваивается свойству «заголовок» (Caption) компонента формы типа «надпись».
В операции слияния строк могут присутствовать любые выражения строкового типа, например:
var
X : Integer;
begin
X := 70;
Label1.Caption := IntToStr(X)+ ' секунд – полет нормальный';
end;
Здесь функция IntToStr преобразует числовое значение переменной X в строку, а результат соединяется с литералом.
Извлечение символа
Нумерация символов в строке ведется с единицы. Любой символ строки доступен по его порядковому номеру (индексу) в строке:
var
S1 : string;
S2 : Char;
begin
S1 := 'Hello World!';
S2 := S1[1];
Label1.Caption := S2;
end;
Управляющие символы в строках
В строку можно включить управляющие символы.
Поместите на форму командную кнопку и надпись. Дважды щелкните на кнопке и введите следующий код обработчика события OnClick:
p
rocedure
TForm1.Button1Click (Sender: TObject);
var
Line1 : string;
Line2 : string;
Y : integer;
begin
Y := 50;
Line1 := IntToStr(Y) + секунд;
Line2 := Полет нормальный;
Label1.Caption := Line1 + #10 + Line 2;
end;
Выполните программу – увидите две строки надписи. В этом коде в строку вставлен символ возврата каретки (код ASCII 10).
Разбиение литерала по строкам программы
Часто бывает необходимо разместить длинный литерал на нескольких строках текста программы. Например, требуется вывести сообщение, содержащее 200 символов. Максимальная длина одной строки текста в редакторе кода равна 1024 символам. На экране целиком умещается около 80 символов текста в одной строке. Следовательно, напечатать длинный текст в одной строке редактора можно, но читать его – с трудом.
Лучше всего разбить длинный текст – литерал на несколько строк исходной программы. Для этого просто используйте операцию слияния (+)
MessageBox(0, 'Файл изменен, но не был сохранен. ' +
'Сохранить его сейчас ' +
'или снова вернуться в режим редактирования? ',
'Message', 0);
Сравнение строк
Строки можно сравнивать друг с другом с помощью операций сравнения. Операции сравнения перечислены в таблице 1.3.
Таблица 1.3. Операции сравнения строк
Операция |
Описание |
= |
Равно |
<> |
Не равно |
< |
Меньше |
> |
Больше |
<= |
Не больше |
>= |
Не меньше |
Сравнение строк основано на анализе кодов ASCII. Две строки считаются равными если они имеют одинаковую длину и содержат одинаковые последовательности символов. Операции «меньше – больше» используют для сортировки строк в алфавитном порядке. Чаще всего в программах применяется операции «равно – не равно»:
if FileName = 'TEST.TXT' then
OpenFile(FileName)
else
ReportError;