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

4.20. Строковые типы для коротких строк: ShortString, String[n].

Короткие строки ShortString. Предназначены только для обратной совместимости, отчасти потому, что занимают в памяти всегда 256 байт независимо от фактического числа символов (если строка описана без задания максимального числа символов). Функция High возвращает максимальный размер строки, а Low – нуль.

4.21. Совместимость типов при присвоениях.

Одним из требований в языке программирования Pascal является следующее: в выражениях (в том числе при сравнении) должны использоваться операнды с совместимыми типами. Типы совместимы, если выполняется хотя бы одно из условий.

  • Оба типа эквивалентны.

  • Оба типа целые.

  • Оба типа вещественные.

  • Один из типов имеет интервальный тип, а другой тип является для него базовым:

type

tp1 = integer;

tp2 = -1..1000;

  • Оба типа являются диапазонами одного и того же базового типа

  • Один тип строковый, а второй — либо строковый, либо символьный, либо упакованный символьный массив.

  • Оба типа — упакованные символьные массивы с одинаковым числом элементов.

  • Оба типа являются множествами с совместимыми базовыми типами

  • Один тип является ссылочным, а второй — либо ссылочный, либо бестиповый указатель.

  • Оба типа — это процедурные типы с одним и тем же числом параметров, причем типы параметров должны быть эквивалентными (в соответствии с их порядком следования), а для функциональных типов также должны быть эквивалентными типы результатов.

4.22. Тип Variant и его использование.

Компилятором FPC поддерживается тип variant. Для того чтобы включить поддержку вариантного типа, необходимо упомянуть в предложении uses модуль variants во всех модулях, в которых используется тип variant. Более того, компилятор должен быть в режимах Delphi или Objfpc.

Предназначен для использования в том случае, когда на этапе компиляции тип данных не известен, или может уточняться при выполнении программы. Введен для поддержки технологии OLE (Object Linking and Embedding – Связывание и внедрение объектов). Занимает в памяти дополнительно 2 байта для информации о фактическом типе данных. Эта информация позволяет компилятору создать код, осуществляющий при исполнении программы необходимые преобразования данных. С переменной  типа Variant совместимы (могут быть  в нее помещены) типы:

  • целые или вещественные (кроме Int64),

  • логические,

  • строки,

  • время и/или дата,

  • OLE-объект (объект, переносимый системой из других приложений через буфер),

  • массив произвольной размерности и длины, содержащий элементы перечисленных типов.

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