Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3lab.docx
Скачиваний:
52
Добавлен:
12.06.2018
Размер:
581.05 Кб
Скачать

4.16. Тип tDateTime и его использование.

Тип дата-время определяется стандартным идентификатором TDateTime и предназначен для одновременного хранения и даты, и времени. Во внутреннем представлении он занимает 8 байт и подобно currency представляет собой вещественное число с фиксированной дробной частью: в целой части числа хранится дата, в дробной - время. Дата определяется как количество суток, прошедших с 30 декабря 1899 года, а время - как часть суток, прошедших с 0 часов, так что значение 36444,837 соответствует дате 11.10.1999 и времени 20:05. Количество суток может быть и отрицательным, однако значения меньшие -693594 (соответствует дате 00.00.0000 от Рождества Христова) игнорируются функциями преобразования даты к строковому типу.

Над данными типа TDateTime определены те же операции, что и над вещественными числами, а в выражениях этого типа могут участвовать константы и переменные целого и вещественного типов.

Поскольку тип TDateTime совместим с форматом вещественных чисел, можно без труда определить дату, отстоящую от заданной на сколько-то дней вперед или назад: для этого достаточно соответственно прибавить к заданной дате или отнять от нее нужное целое число.

4.17. Логические типы данных Boolean.

В Турбо Паскале логический тип данных носит название BOOLEAN. Значением логического типа может быть одна из двух констант FALSE (ложь) или TRUE (истина). Для них справедливы правила:

Ord(false)=0 Ord(true)=1 False<true Succ(false)=true Pred(true)=false

Название логического типа данных

Значению False соответствует

Значению True соответствует

Размер памяти для логического типа данных

Boolean

Число 0

1

1 байт

ByteBool

Число 0

Любое число, отличное от 0

1 байт

WordBool

Число 0 в обоих байтах

2 байта

LongBool

Число 0 во всех байтах

4 байта

Логические переменные должны быть описаны предложением:

Var <имя_переменной>: boolean;

4.18. Символьные типы: AnsiChar = Char, WideChar.

Символьный тип данных Char — тип данных, значениями которого являются одиночные символы. Данный тип может содержать всего один любой символ (Например: «*», «/», «.», «!» и другие). Каждый такой символ занимает 8 бит памяти, всего существует 256 восьмибитовых символов. Все символы, используемые символьным типом Char записаны в таблице символов ASCII (American Standart Code for Information Interchange) или Американский стандарт кода для обмена информацией. Символьные константы заключаются в апострофы, например '.', '*', '7', 's'. Также символьную константу можно записать с помощью символа — «решетки», например #185 — выведет символ под номером 185 из таблицы ASCII (это символ '№'). 

Таблица 1. Характеристики символьных типов

Название типа

Идентификатор

Размер в байтах

Символ кода ANSI

AnsiChar

1 байт

Символ кода Unicode

WideChar

2 байта

Родовой символьный тип

Char

1 байт

 Типы AnsiChar и WideChar имеют постоянное представление в памяти, которое не будет изменяться в различных реализациях Object Pascal. Родовой символьный тип Char в данной реализации соответствует типу AnsiChar. Заметим, что первые 256 символов кода Unicode совпадают с кодом ANSI.

4.19. Строковые типы для длинных строк: AnsiString = String, WideString.

Строки AnsiString, называемые также длинными строками (long string), наиболее предпочтительны для большинства применений. Строковые типы могут смешиваться в операторах присваивания и выражениях. При этом компилятор автоматически выполняет требуемые преобразования. Однако при передаче в качестве var и outпараметров подпрограмм они должны иметь соответствующий тип. Длинные строки AnsiString являются динамически размещаемыми строками, максимальная длина которых ограничена только имеющейся памятью. Так как переменные AnsiString являются указателями, то на одну строку может ссылаться более одного указателя, что учитывается компилятором для экономии памяти. Когда переменная уничтожается или ей присваивается новое значение, то число указателей на старую строку уменьшается на 1 (reference-counting). Когда оно становится равным нулю, память автоматически освобождается. 

Тип

Число символов

Объем занимаемой памяти

Назначение

ShortString

255

от 2 до 256 байт

для обратной совместимости

AnsiString

около 231

от 4 байт до 2ГБ

8-битовые символы ANSI

WideString

около 230

от 4 байт до 2ГБ

символы Unicode; параметры методов интерфейсов в СОМ технологиях

Соседние файлы в предмете Инфокоммуникационные системы и сети