Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Типы данных в 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. Введены новые типы для хранения строковой информации. Тип AnsiString предназначен для создания переменных, хранящих тексты произвольной длины. Тип WideString осуществляет динамическое выделение памяти для хранения текста. Текст должен быть представлен в кодировке Unicode. Многие функции и процедуры по работе со строковыми данными отличаются от функций и процедур Турбо Паскаля. Статические массивы можно описывать по старым правилам, например: Var a: Array [1..5] Of Real; При описании параметров функции или процедуры допускается следующий вариант: Function Prim (a: Array Of Real): Real Массивы в функции передаются как динамические, то есть вместе с адресом массива передается и число элементов массива. В Object Pascal длина динамических массивов определяется во время выполнения программы. Описав переменную как a1: Array Of Real;, мы имеем указатель, который будет соответствовать массиву вещественных чисел. Память под него выделяется процедурой SetLength: SetLength(a, 5); в Delphi существует тип Variant. Вариант – тип данных, позволяющий хранить данные любых типов, кроме структурных. Переменная-вариант занимает в памяти дополнительные два байта, в которые помещается информация о действительном типе переменной. Эта информация позволяет компилятору создать код, который будет осуществлять необходимое преобразование типов на этапе прогона программы. В переменную-вариант можно поместить: целое или вещественное число; логическое выражение; строку; время и/или дату; OLE-объект; массив произвольной размерности и длины. Следующий пример иллюстрирует использование вариантов. Тип дата-время определяется идентификатором TDateTime и предназначен для хранения даты и времени. Тип дата-время занимает 8 байт и представляет собой вещественное число с фиксированной дробной частью: в целой части числа хранится дата, в дробной – время. Над данными этого типа определены те же операции, что и над вещественными числами, а в выражениях этого типа могут участвовать константы и переменные целого и вещественного типов. Существуют стандартные процедуры и функции по работе с данными дата-время. Базовые классы VCL В основе иерархии объектов библиотеки VCL лежит класс TObject. Он обеспечивает выполнение важнейших функций “жизнедеятельности” любого объекта. Благодаря ему каждый класс получает в наследство механизмы создания экземпляра объекта и его уничтожения. Компоненты VCL создаются и освобождают занимаемые ресурсы автоматически. Класс TРersistent происходит непосредственно от класса TОbject. Он обеспечивает своих потомков возможностью взаимодействовать с другими объектами и процессами на уровне данных. Его методы позволяют передавать данные в потоки, а также обеспечивают взаимодействие объекта с инспектором объектов. Класс TСomponent служит основой для всех компонентов Delphi. Этот класс задает базовое поведение всех компонентов – их основные свойства и методы. К ним относятся: возможность отображения компонента в палитре компонентов и управления им в дизайнере форм; возможность выступать контейнером для других компонентов; возможность выступать в качестве оболочки вокруг компонентов ActiveX и других объектов, реализующих интерфейсы.
|