
- •Введение
- •Описание типов
- •Простые типы данных
- •Порядковые типы
- •Целые типы
- •Логические типы
- •Символьный тип
- •Перечисляемый тип
- •Тип-диапазон
- •Вещественные типы
- •Тип дата-время
- •Строковые типы
- •Преобразование типов
- •Приведение типов
- •Операторы
- •Арифметические операторы
- •Логические операторы
- •Оператор присваивания
- •Оператор SizeOf
- •Операторы ввода-вывода
- •Оператор write
- •Оператор read
- •Комментарии в программах
- •Директивы компилятора
- •Директивы условной компиляции
- •Задания к лабораторной работе
- •Вопросы к лабораторной работе

Например
type TDigits = '0'..'9'; TMonth = 1..12;
TMyColors = green .. yellow;
При задании типа-диапазона следует иметь ввиду, что символы '..' нельзя разделять пробелами и что левая граница диапазона не должна превышать правую границу.
Вещественные типы
Вещественные типы предназначены для работы с вещественными числами в формате с плавающей и фиксированной точкой.
Для представления вещественных чисел используются следующие типы приведенные в таблице 6.
Таблица 6 – Вещественные типы Object Pascal |
|
|
||||
Наименование |
|
Длина, |
|
Точность |
|
Диапазон значений |
|
|
|
||||
|
|
байт |
|
(число значащих чисел) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
real2 |
|
6 |
|
11…12 |
|
2,9·10-39 … 1,7·1038 |
single |
|
4 |
|
7…8 |
|
1,5·10-45 … 3,4·1038 |
double |
|
8 |
|
15…16 |
|
5,0·10-324 … 1,7·10308 |
extended |
|
10 |
|
19…20 |
|
3,4·10-4951 … 1,1·104932 |
comp |
|
8 |
|
19…20 |
|
-263 … 263-1 |
currency |
|
8 |
|
19…20 |
|
±922337203685478 |
|
|
|
|
|
|
|
Не рекомендуется использовать устаревший тип real48 в новых программах, т. к. он разработан для программной эмуляции вещественных чисел. В Object Pascal переменные такого типа сначала конвертируются в тип extended, затем выполняются необходимые операции с вещественными числами, после чего происходит обратная конвертация. Это приводит к существенному падению производительности. Для большинства программ наиболее оптимально применение типа double (real).
Тип дата-время
Тип дата-время предназначен для хранения даты и времени. Тип дата-время определяется идентификатором TDateTime и предназначен для одновременного хранения даты и времени. Во внутреннем представлении переменная этого типа соответствует типу Double. Для работы с данным типом используются функции приведенные в таблице 73.
Таблица 7 – Подпрограммы для работы с типом TDateTime
Подпрограмма |
|
Назначение |
|
|
|
|
|
|
function Date:TDateTime; |
|
Возвращает текущую дату |
|
|
|
2Начиная с версии Delphi 5.0 тип real соответствует типу double. Для совместимости со старыми программами введен тип real48 соответствующий типу real из таблицы 6. При использовании директивы
компилятора {$REALCOMPATIBILITY ON} компилятор под типом real будет подразумевать именно тип real48. По умолчанию {$REALCOMPATIBILITY OFF}
3 Для использования функций из таблицы 7 необходимо подключить модуль SysUtils. (uses SysUtils;)

Подпрограмма |
Назначение |
|
|
|
|
function DateToStr( |
Преобразует дату в строку символов |
D: TDateTime):string |
|
function DateTimeToStr( |
Преобразует дату и время в строку символов |
D: TDateTime):string; |
|
function Time: TDateTime; |
Возвращает текущее время |
function TimeToStr ( |
Преобразует время в строку |
T: TDateTime):string; |
|
Для использования подпрограмм из таблицы 7 необходимо подключить модуль SysUtils, как показано ниже.
program Test; uses SysUtils;
Строковые типы
В Object Pascal определено несколько типов строк, таблица 8.
Таблица 8 – Типы строк поддерживаемые в Object Pascal.
Тип |
Описание |
|
|
|
|
|
|
|
ShortString |
Короткая строка. Максимальная длина строки 255 символов. Формат |
|
|
символов AnsiChar. Максимальная длина строки может быть задана, |
|
|
например: |
|
|
s: string[20]; //строка длиной 20 символов |
|
AnsiString |
Длинная строка. Максимальная длина строки 231 символов. |
|
PChar |
Строки с завершающим нулем. (используются API Windows). |
|
|
Максимальная длина строки не ограничена4. Формат символов AnsiChar. |
|
WideString |
Широкие строки. Максимальная длина строки 216 символов. Формат |
|
|
символа WideChar. |
|
String |
По умолчанию является псевдонимом типа AnsiString, если не указана |
|
|
длина строки. |
|
Строковые константы задаются в одинарных кавычках, например
var s:string; begin
s:=’Hello World!’;
end.
Для сцепления двух строк в одну необходимо применять оператор "+", например
var s, s1:string; begin
s:=’Hello’; s1:=’ World!’; s:=s + s1; writeln(s);
end.
В результате выполнения выше приведенной программы на экран будет выведено
Hello World!
Некоторые подпрограммы для работы со строками приведены в таблице 9.
4 Длина строки ограничивается лишь доступной памятью, для 32 разрядных ОС это 4 Гб (в Windows 2 Гб).