Стандартные типы данных
Структуры данных в Delphi 2.1.1. Числовые типы Некоторые типы данных, стандартные для языка Pascal, немного изменились в сторону расширения диапазона возможных значений и, соответственно, увеличения занимаемого места. Это связано с тем, что создаваемые в Delphi приложения ориентированы на работу в операционной системе Windows, а не DOS, что накладывает на них некоторые требования. Программы, выполняемые в Windows, широко используют системные функции операционной системы, передавая им множество параметров. Таким образом, представление информации в Delphi должно соответствовать представлению аналогичной информации в Windows. Рассмотрим сравнительные таблицы типов данных в Pascal и Delphi (см. табл. 2.1 и 2.2), в которых указаны сведения о типах данных в Pascal и Delphi. В нижних частях таблиц приводятся сведения о новых типах данных, которых не было в языке Pascal. Из сравнительных таблиц видно, что среди целочисленных типов данных не произошло существенных изменений, за исключением увеличения диапазона типа Integer.Это связано с частым использованием данного типа при передаче параметров системным функциям Windows. Также добавлены новые Типы Cardinal, Int64и Longwordдля более удобной организации структур данных в программе. Новый целочисленный тип данных Smallintсоответствует типу Integerязыка Pascal и добавлен в Delphi для упрощения переноса фрагментов текста из старых программ, работающих в операционной системе DOS, которые используют переменные типа Integerи чувствительны к возможному изменению размеров этих переменных. При переносе таких фрагментов ссылки на тип Integerследует заменять на Smallint. Среди вещественных типов данных изменены возможности типов Real, Extendedи Comp,а также, для совместимости с программами, написанными на Turbo Pascal, добавлен новый тип Real48,совпадающий с типом Realязыка Pascal. Особого внимания заслуживает новый вещественный тип данных Currency,предназначенный для использования в финансовых вычислениях и призванный исключить ошибки искажения значений, присущие переменным с плавающей точкой. Переменные типа Currencyна самом деле хранятся не как вещественные переменные, а как целочисленные переменные типа Int64,а при использовании их в выражениях автоматически делятся на 10000. Таким образом, значения переменных типа Currencyявляются числами не с плавающей точкой, а с фиксированной. Сравнительная таблица целочисленных типов данных в Pascal и Delphi Таблица 2.1 2.1.2. Строковые типы данных В языке программирования Pascal для работы со строками был предусмотрен тип String,представляющий собой последовательность (массив) символов, размером до 255-ти байт, в начале которой находилось однобайтовое число, содержащее длину строки. С другой стороны, в языке С, на который, в основном, ориентируется среда Windows, строки хранятся в так называемом ASCIIZ-формате. Каждая строка в формате ASCIIZ представляет собой указатель на массив символов, который заканчивается нулевым символом. Такое представление строки имеет свои преимущества — например, практически неограниченная длина ASCIIZ-строк, и свои недостатки — связанные с неудобством использования указателей (ссылочных переменных). В Delphi предлагается компромисс между двумя подходами к хранению строк. Внутреннее представление строки реализовано динамически, в ASCIIZ-формате, тогда как с точки зрения программиста строка является массивом символов известной длины (символы в массиве пронумерованы от единицы). В связи с этим отменена возможность доступа к нулевому элементу строки с целью получения ее длины. Длину строки в Delphi можно определить с помощью функции Length: Length(<Строка>): Integer; Установить длину строки можно с помощью процедуры SetLength:SetLength(<Строка>, <Новая длина>); Еще одной особенностью работы в среде Windows является возможность использования кодировки символов Unicode, в которой каждый символ представляется не одним, а двумя байтами. Кодировка Unicode предназначена для индексации символов нескольких алфавитов одновременно. Строковые типы данных, доступные в Delphi, описаны в табл. 2.3. Тип ShortStringвведен для обратной совместимости с Pascal под DOS и не рекомендуется для использования. Переменной, описанной с использованием устаревшего типа String, назначается тип ShortString, если при компиляции директива ннаходится в выключенном состоянии: {$н-},или Ansistring, если при компиляции директива ннаходится во включенном состоянии: {$Н+}. Для больи;;::-: Unicode) д.:я вать тип я.-5: Строковые типы данных в Delphi Таблица 2.3
Для большинства случаев (не связанных с использованием кодировки Unicode) для описания строковых переменных рекомендуется использовать ТИП AnsiString. 2.1.3. Другие стандартные типы данных Работа с другими типами данных, предусмотренными в Delphi, не отличается от использования аналогичных типов данных в Pascal. Например, вместо одного логического типа данных в Pascal, в Delphi существует целых четыре: Boolean, ByteBool, WordBoolи LongBool.Такое разнообразие типов предусмотрено для обеспечения совместимости с другими языками программирования и средами выполнения. Как видно из их названий, они отличаются друг от друга только размером, и без особой необходимости нет смысла в использовании для описания логических переменных какого-либо другого типа вместо обычного Boolean.
Популярное: Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... Почему стероиды повышают давление?: Основных причин три... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (757)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |