Студопедия — Основные типы данных в Object Pascal.
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Основные типы данных в Object Pascal.






Object Pascal унаследовал от базового языка Borland Pascal все его особенности и достоинства.

Так же, как и в Borland Раscal, в Delphi все используемые типы данных можно разделить на две основные группы. К первой относятся стандартные типы, предопределенные спецификацией языка Pascal. На основе этих типов разработчик может описывать собственные типы данных, которые относятся ко второй группе.

К простым числовым типам относятся: Integer, Cardinal, ShortInt, SmallInt, LongInt, Int64, Byte, Word, LongWord, Real, Real48, Single, Double, Extended, Comp, Currency. Для процесса обучения достаточно использования Integer для хранения целочисленных значений и Real для вещественных значений.

Для символьных данных базовым является тип Char. На его основе созданы два дополнительных типа – AnsiChar и WideChar для использования двух кодировок символов ANSI и Unicode.

В Delphi 4 расширены возможности логического типа данных. Помимо базового типа Boolean можно использовать дополнительные типы ByteBool, WordBool, LongBool. Эти типы необходимы для обеспечения совместимости с функциями Windows и другими средами разработки.

Введены новые типы для хранения строковой информации. Тип AnsiString предназначен для создания переменных, хранящих тексты произвольной длины. Тип WideString осуществляет динамическое выделение памяти для хранения текста. Текст должен быть представлен в кодировке Unicode. Многие функции и процедуры по работе со строковыми данными отличаются от функций и процедур Турбо Паскаля (см. приложение 1 файла материалов).

Массивы стали открытыми, их размер можно задавать динамически. В четвертой версии Delphi появились многомерные динамические массивы.

Статические массивы можно описывать по старым правилам, например:

Var a: Array [1..5] Of Real;

При описании параметров функции или процедуры допускается следующий вариант:

Function Prim (a: Array Of Real): Real

Массивы в функции передаются как динамические, то есть вместе с адресом массива передается и число элементов массива.

В Object Pascal длина динамических массивов определяется во время выполнения программы. Описав переменную как a1: Array Of Real;, мы имеем указатель, который будет соответствовать массиву вещественных чисел. Память под него выделяется процедурой SetLength:

SetLength(a, 5);

В динамических массивах нумерация начинается только с 0. Хотя это по природе своей указатели, знак разыменования (^) не применяется.

Дальнейшим развитием идеи динамических массивов являются многомерные динамические массивы:

Var aa: Array Of Array Of Real;

В функции SetLength после имени переменной нужного типа можно задать сразу все размерности массива, например: SetLength(aa, 10, 5).

В практике программирования встречаются ситуации, когда передаваемое переменной значение может иметь неизвестный заранее тип данных. Для таких случаев в Delphi существует тип Variant. Вариант – тип данных, позволяющий хранить данные любых типов, кроме структурных. Переменная-вариант занимает в памяти дополнительные два байта, в которые помещается информация о действительном типе переменной. Эта информация позволяет компилятору создать код, который будет осуществлять необходимое преобразование типов на этапе прогона программы. В переменную-вариант можно поместить: целое или вещественное число; логическое выражение; строку; время и/или дату; OLE-объект; массив произвольной размерности и длины. Следующий пример иллюстрирует использование вариантов.

Var V1, V2, V3, V4, V5: Variant;

i: Integer; s: String;

Begin

V1:= 1; V2:= 1234.5678; V3:= ‘Строка символов’; V4:= ‘1000’;

V5:= V1 + V2 + V3 // Получится число 2235.5678

i:= V1; // i = 1

s:= V3; // s = ‘Строка символов’

i:= V4; // i = 1000

s:= V5; // s = ‘2235.5678’

End;

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

Date – возвращает текущую дату;

DateToStr (d: TDateTime) – преобразует дату в строку символов;

DateTimeToStr(d: TDateTime) – преобразует дату и время в строку символов;

Time – возвращает текущее время;

TimeToStr(T: TDateTime) – преобразует время в строку.

 







Дата добавления: 2015-08-12; просмотров: 559. Нарушение авторских прав; Мы поможем в написании вашей работы!



Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Измерение следующих дефектов: ползун, выщербина, неравномерный прокат, равномерный прокат, кольцевая выработка, откол обода колеса, тонкий гребень, протёртость средней части оси Величину проката определяют с помощью вертикального движка 2 сухаря 3 шаблона 1 по кругу катания...

Неисправности автосцепки, с которыми запрещается постановка вагонов в поезд. Причины саморасцепов ЗАПРЕЩАЕТСЯ: постановка в поезда и следование в них вагонов, у которых автосцепное устройство имеет хотя бы одну из следующих неисправностей: - трещину в корпусе автосцепки, излом деталей механизма...

Понятие метода в психологии. Классификация методов психологии и их характеристика Метод – это путь, способ познания, посредством которого познается предмет науки (С...

Основные структурные физиотерапевтические подразделения Физиотерапевтическое подразделение является одним из структурных подразделений лечебно-профилактического учреждения, которое предназначено для оказания физиотерапевтической помощи...

Почему важны муниципальные выборы? Туристическая фирма оставляет за собой право, в случае причин непреодолимого характера, вносить некоторые изменения в программу тура без уменьшения общего объема и качества услуг, в том числе предоставлять замену отеля на равнозначный...

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

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия