Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Delphi.Начало.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.56 Mб
Скачать

Занятие 9. Строки и символы

Компьютер можно использовать для обработки не только числовой, но и текстовой информации. Для представления текстовых данных можно использовать символьный и строковый типы данных.

Символьный тип данных

Данными символьного типа являются любые символы, вводимые с клавиатуры: заглавные буквы, цифры, строчные буквы, специальные знаки и т. д. С помощью символьного типа данных можно задать одиночный символ, который можно описать либо с помощью одинарных кавычек, например: ‘A’, ’P’, ’+’, ‘=’, либо указанием его внутреннего кода, которому предшествует символ #. Например, #13 – символ Enter (Ввод), #27 – символ Escape (Отмена). Данные символьного типа описываются с помощью ключевого слова Char, например, с помощью следующего описания задается переменная Ch типа Char:

Var

Ch : Char;

Следующее описание задает две константы sm и enter:

Const

Sm=’*’; enter=#13;

Для присвоения значения символьной переменной используется следующий синтаксис, например:

Ch:=’R’;

Строковый тип данных

Под строкой понимается последовательность символов. При описании строки используется ключевое слово string. При этом допускается задание размера строки – мак­си­мальное количество символов. Если размер строки не указывается, то по умол­ча­нию длина строки равна 255 символам. Например:

Var

Str : string;

Ss : string[7];

Строка Str – может иметь максимальный размер 255 символов. Размер строки Ss – ограничен 7 символами.

Для задания значений строковым переменным используется следующий синтаксис, например:

Str:=’Привет’;

Ss:=’Надежда’;

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

Над строками определена единственная операция – сцепление(конкатенация) строк, когда в конец первой строки подписывается вторая строка. Операция обозначается знаком +(плюс). Например:

Str:=Str + Ss;

ShowMessage(Str);

Строку можно рассматривать как массив символов вида:

Var Ss : array[0..7] of char;

При этом нулевой элемент строки содержит число символов в строке.

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

Сравнение текстовой информации

Над символьными и строковыми данными определены операции сравнения, как над логическими, целыми и вещественными данными: =, >, <, >=, <=, <> .

Функции для работы с текстовой информацией

Приведем основные встроенные функции, позволяющие работать с текстовой информацией.

Функция

Описание

StrToInt

Преобразует строку в целое.

IntToStr

Преобразует целое в строку.

FloatToStr

Преобразует плавающее число в строку.

StrToFloat

Преобразует строку в плавающее.число

StrToDate

Преобразует строку в дату.

DateToStr

Преобразует дату в строку.

Length

Возвращает длину символьной строки.

Copy

Возвращает подстроку из строки.

Insert

Вставить подстроку в нужную позицию строки

Delete

Удаляет подстроку из строки.

Pos

Возвращает позицию подстроки в строке.

Ord

возвращает код для введенного символа

Chr

Возвращает символ по его коду

UpperCase

Преобразует строку к верхнему регистру букв.

LowerCase

Преобразует строку к нижнему регистру букв.

Пример 1. Функция chr возвращает символ по его коду. Синтаксис:

function Chr(X: Byte): Char;

Например, создадим небольшое приложение, которое по коду символа выводит его представление. Внешний вид формы может быть следующим:

На кнопку “Ввод” напишем обработчик:

var kod:integer;

begin

kod:=StrToInt(Edit1.Text);

label2.caption:=' Символ = '+ chr(kod);

Пример 2. Функция ord возвращает код символа для введенного символа. Синтаксис функции:

function Ord(X);

Например, разработаем приложение, которое по введенному символу будет возвращать его код. Внешний вид приложения:

На кнопку «Ввод» напишем обработчик:

var

kod:integer;

ch:char;

str:string[1];

begin

str:=Edit1.Text;

ch:=str[1];

kod:=ord(ch);

Label2.Caption:='Код символа = '+IntToStr(kod);

end;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]