- •1. Главное окно. Работа с Инспектором объектов. Области редактирования Edit и Memo. Главное окно Delphi.
- •2 Окно формы.
- •8. Запуск и работа с программой
- •12, 13, 14. Операторыцикла (for, while, repeat) в Object Pascal.
- •10. Типы данных в ObjectPascal.
- •5,6 (?). Размещение строки ввода (tEdit)
- •18. Строки в паскале
- •Процедуры и функции для работы со строками
- •3. Окно текста программы
- •5. Процедуры и функции в Delphi. Оператор Exit.
- •12, 13,14 Операторы организации циклов repeat, whyle, for языка Pascal
- •Операции над множествами
- •9. Структура программ delphi
- •Interface
- •Implementation
- •15. Массивы
- •16. Динамическое распределение памяти
- •22. Как строится график с помощью компонента tChart
- •7. Размещение многострочного окна вывода (tMemo)
- •11. Операторы if и case языка Паскаль
- •10.5. Свойства
- •6.2. Использование модулей
10. Типы данных в ObjectPascal.
ObjectPascal унаследовал от базового языка BorlandPascal все его особенности и достоинства.Так же, как и в BorlandPascal, в Delphi все используемые типы данных можно разделить на две основные группы. К первой относятся стандартные типы, предопределенные спецификацией языка Pascal. На основе этих типов разработчик может описывать собственные типы данных, которые относятся ко второй группе.Кпростымчисловымтипамотносятся: Integer, Cardinal, ShortInt, SmaltInt, LongInt, Int64, Byte, Word, LongWord, Real, Real48, Single, Double, Extended, Comp, Currency. Для процесса обучения достаточно использования Integer для хранения целочисленных значений и Real для вещественных значений.Для символьных данных базовым является тип Char. На его основе созданы два дополнительных типа - AnsiChar и WideChar для использования двух кодировок символов ANSI и Unicode.Введены новые типы для хранения строковой информации. Тип AnsiStringпредназначен для создания переменных, хранящих тексты произвольной длины. Тип WideString осуществляет динамическое выделение памяти для хранения текста. Текст должен быть представлен в кодировке Unicode. Многие функции и процедуры по работе со строковыми данными отличаются от функций и процедур Турбо Паскаля.Массивы стали открытыми, их размер можно задавать динамически. Статические массивы можно описывать по старым правилам, например:
Vara:Array [1..5] OfReal;При описании параметров функции или процедуры допускается следующий вариант:
FunctionPrim (a:ArrayOfReal):RealМассивы в функции передаются как динамические, то есть вместе с адресом массива передается и число элементов массива.В ObjectPascal длина динамических массивов определяется во время выполнения программы. Описав переменную как а:Array OfReal; мы имеем указатель, который будет соответствовать массиву вещественных чисел. Память под него выделяется процедурой SetLength:SetLength(a, 5);.В динамических массивах нумерация начинается только с 0. Хотя это по природе своей указатели, знак разыменования (") не применяется.Дальнейшим развитием идеи динамических массивов являются многомерные динамические массивы:Varaa:ArrayOfArrayOfReal;
В функции SetLength после имени переменной нужного типа можно задать сразу все размерности массива, например: SetLength(aa, 10, 5).Тип дата-время определяется идентификатором TDateTime и предназначен для хранения даты и времени. Тип "дата-время" занимает 8 байт и представляет собой вещественное число с фиксированной дробной частью: в целой части числа хранится дата, в дробной - время. Над данными этого типа определены те же операции, что и над вещественными числами, а в выражениях этого типа могут участвовать константы и переменные целого и вещественного типов. Существуют стандартные процедуры и функции по работе с данными дата-время. Вот некоторые из них:
Date - возвращает текущую дату;
DateToStr (d:TDateTime) - преобразует дату в строку символов;
DateTimeToStr(d:TDateTime) - преобразует дату и время в строку символов;
Time - возвращает текущее время;
TimeToStr(T:TDateTime) - преобразует время в строку.