Byte — Тип Delphi


Типы данных в Delphi Обучающий материал

В delphi, при разработке приложений для их быстродействия и максимальной производительности в работе с оперативной памятью используются типы данных. Без указания типа невозможно себе представить, какое количество байт будет выделено для хранения значения переменной в оперативной памяти.

Только обязательное назначение типа переменной обеспечит эффективную работу приложения с минимальной нагрузкой на компьютерную систему.

Язык delphi оперирует достаточно большим набором типов данных: целочисленный тип, вещественный, символьный, строчный и логический тип. К тому же представленные, обобщенные типы в зависимости от объема выделенной памяти под хранение имеют конкретное разделение на типы.

Целочисленный тип данных в Delphi представлен:

  • Shortint — занимает в памяти 8 битов и имеет числовой диапазон от -127 до 128.
  • Smallint — числовой интервал находится в пределах -32 768 — 32 767 (16 битов).
  • Longint – диапазон чисел от -2 147 483 648 до 2 147 483 647 (32 бита).
  • Int64- наибольший интервал от – 263 до 263-1 (64 бита).
  • Byte- интервал значений от 0 до 255 (8 бит).
  • Word- числовой диапазон от 0 до 65535 (16 бит).
  • Longword –интервал составляет 0 — 4 294 967 295 (32 бита).

Следует заметить, что последние 3 типа называются беззнаковыми так, как имеют в своем числовом интервале только положительные числа( нет отрицательных значений). К тому же можно использовать и тип “Integer”, который соответствует “Longint”. К тому же следует знать, что значения в типах имеют строгий порядок. Такое положение позволяет использовать по отношению к значениям различные процедуры и функции. Не относится к вещественному типу данных в Delphi(не упорядочен).

Числа с плавающей точкой (дробные) представлены в delphi вещественным типом. Вещественный тип данных делится на 6 типов, которые отличаются числовым диапазоном, количеством значащих цифр и занимаемой памятью.

  • Single- число может находиться в интервале 1.5 x 1045-3.4х 1038.Объем занимаемой памяти 4 байта.
  • Real48 — числовой диапазон 2.9x-39-1.7×1038 (6 байт).
  • Double — интервал составляет 5.0×10-324 -1.7×10308 (8 байт).
  • Extended — 3.6×10-4951 -1.1 х104932 (10 байт).
  • Comp — диапазон чисел 263+1 – 263-1, занимаемая память 8 байт.

Currency – этот вещественный тип данных называют еще денежным. С его помощью осуществляется реализация различных приложений финансовой тематики. Имеет 53 бита точности и поддержку 4 десятичных мест.

Текстовую информацию(переменные) представляют строковые типы данных в Delphi. Различают 3 типа:

  • Shortstring — длина строки может составлять максимально 255 символов и в памяти размещается статическим методом.
  • Longstring — такой тип данных ограничен лишь объемом динамической памяти.
  • WideString – аналогичен тип Longstring, но каждый символ представлен в Unicode.

В delphi строковые типы данных допускается обозначать типом string, который аналогичен shortstring.

Синтаксис указания типа переменной в delphi довольно просто. Ряд примеров подтверждает это утверждение:

Язык Delphi является производным от низкоуровневого языка Object Pascal, что позволяет разрабатывать с использованием совместимых компиляторов программы под Linux. Такое положение обеспечивает написание программ, разработку графических интерфейсов, приложений, способных облегчить администрирование linux, насытить систему новым и удобным функционалом.

DelphiComponent.ru — бесплатно видеоуроки по Delphi, статьи, исходники

Простые типы данных в Delphi XE

Будьте проще, и к вам потянутся люди!

Кредо Глеба Жеглова

Название «простые типы данных» обусловлено тем, что они не содержат «в себе» никаких других типов данных.

Все простые типы данных, кроме вещественных, называют также поряд­ковыми, так как они определяют упорядоченный набор значений.

Целые типы

Самые «востребованные» типы данных! Можно смело утверждать, что ни одна программа не обходится без них. Именно этим и объясняется такое обилие целых типов данных в Delphi.

Как следует из названия, они предназначены для хранения целых чисел. Большинство типов могут хранить числа со знаками, но типы byteи Lon- gint- только неотрицательные числа. Другое принципиальное отличие целых типов заключается в максимальной и минимальной величине чи­сел, которые они содержат. Естественно, чем эти значения больше, тем больше памяти потребуется для их хранения. Кроме того, операции с «родными» целыми типами — Integerи cardinal- Delphiработает быстрее всего. Таким образом, при выборе целого типа данных для своих перемен­ных вы должны руководствоваться именно этими соображениями. Если коротко: всегда выбирайте типы Integerи cardinal, если у вас нет веских аргументов в пользу других типов данных.

Delphi Типы данных и работа с ними Информатика

Delphi типы данных.ppt

Delphi. Типы данных и работа с ними Информатика и программирование

Программа в процессе выполнения всегда обрабатывает какие-либо данные. Данные могут представлять собой целые и дробные числа, символы, строки, массивы, множества и др. Так компьютер всего лишь машина, для которой данные — это последовательность нулей и единиц, он должен абсолютно точно «знать», как их интерпретировать. По этой причине все данные в языке Delphi подразделены на типы. Для описания каждого типа данных существует свой стандартный идентификатор: для целых — Integer, для дробных — Real, для строк — string и т. д. Программист может образовывать собственные типы данных и давать им произвольные имена Понятие типа данных

Тип данных показывает, какие значения принимают данные и какие операции можно с ними выполнять. Каждому типу данных соответствует определенный объем памяти, который требуется для размещения данных. Например, в языке Delphi существует тип данных Byte. Данные этого типа принимают значения в целочисленном диапазоне от 0 до 255, могут участвовать в операциях сложения, вычитания, умножения, деления, и занимают 1 байт памяти. Понятие типа данных

Все типы данных в языке Delphi можно расклассифицировать следующим образом: простые типы данных. Они в свою очередь подразделяются на порядковые и вещественные типы данных. К порядковым типам относятся целочисленные, символьные, булевские, перечисляемые и интервальные типы данных; временной тип данных. Служит для представления значений даты и времени; строковые типы данных. Служат для представления последовательностей из символов, например текста; составные типы данных (в некоторых источниках — структурированные типы данных). Формируются на основе всех остальных типов. К ним относятся массивы, множества, записи, файлы, классы и ссылки на классы; процедурные типы данных. Позволяют манипулировать процедурами и функциями как данными программы; указательные типы данных. Данные этих типов хранят адреса других данных, с их помощью организуются различные динамические структуры: списки, деревья и т. д. ; тип данных с непостоянным типом значений. Служит для представления значений, тип которых заранее неизвестен; с его помощью легко организуется работа со списком разнотипных значений Понятие типа данных

Данные, независимо от типа, имеют некоторое значение и в программе предстают как константы или переменные. Данные, которые получили значение в начале программы и по своей природе изменяться не могут, называются константами. Константы описываются с помощью зарезервированного слова const. За ним идет список имен констант, каждому из которых с помощью знака равенства присваивается значение. Одно присваивание отделяется от другого с помощью точки с запятой. Тип константы распознается компилятором автоматически, поэтому его не надо указывать при описании. Константы

Значение константы можно задавать и выражением. Например, временной промежуток, равный одному месяцу, можно задать так: const Seconds. In. Minute = 60; Seconds. In. Hour = Seconds. In. Minute * 60; Seconds. In. Day = Seconds. In. Hour * 24; При объявлении константы можно указать ее тип: const Percent: Double = 0. 15; File. Name: string = ‘HELP. TXT’; Константы

Переменные описываются с помощью зарезервированного слова var. За ним перечисляются идентификаторы переменных, и через двоеточие указывается их тип. Каждая группа переменных отделяется от другой группы точкой с запятой. Например: var Index: Integer; // переменная целого типа данных File. Name: string; // переменная строкового типа данных Sum, Profit: Double; // группа переменных вещественного типа данных Переменные

Тип данных Диапазон значений Объем памяти (байт) Byte 0. . 255 1 Word 0. . 65535 2 Shortint -128. . 127 1 Smallint -32768. . 32767 2 Longint -2147483648. . 2147483647 4 Longword 0. . 4294967295 4 Int 64 -2^63. . 2^63 -1 8 Cardinal 0. . 4294967295 4 Integer -2147483648. . 2147483647 4 Целочисленные типы данных

В переменных целых типов информация представляется в виде целых чисел, т. е. чисел не имеющих дробной части. Основными являются Integer и Cardinal, и в большинстве случаев желательно использовать эти типы. Целочисленные типы данных

Операции над целыми типами Операция Результат Abs (X) Возвращает абсолютное целое значение Х Х Div Y Возвращает целую часть частного деления Х на Y Х Mod Y Возвращает остаток частного деления Х на Y Odd (X) Возвращает булево True (истина), если Х — нечетное целое, и False (ложь) — в противном случае Целочисленные типы данных

В переменных действительных (вещественных) типов содержатся числа, состоящие из целой и дробной частей. Вещественные типы данных применяются для описания вещественных данных с плавающей или с фиксированной точкой. Вещественные типы данных

Тип данных Диапазон значений Мантисса Объем памяти (байт) Real 5. 0*10^-324. . 1. 7*10^308 15 -16 8 Real 48 2. 9*10^-39. . 1. 7*10^38 11 -12 6 Single 1. 5*10^-45. . 3. 4*10^38 7 -8 4 Double 5. 0*10^-324. . 1. 7*10^308 15 -16 8 Extended 3. 4*10 -^4932. . 1. 1*10^4932 19 -20 10 Comp -9223372036854775808. . 9223372036854775807 19 -20 8 Currency -922337203685477. 5808. . 922337203685477. 5807 19 -20 8 Вещественные типы данных

Функция Возвращаемое значение Abs (x) Абсолютная величина х Агс. Таn(х) Арктангенс х Cos (х) Косинус х (х выражается в радианах, а не в градусах) Sin(x) Синус х Ln (х) Натуральный логарифм от х Frac(x) Дробная часть х Int (х) Целая часть х. Несмотря на название, возвращает действительное значение (с плавающей запятой), т. е. просто устанавливает нуль в дробной части Round (х) Ближайшее к х целое значение. Возвращает значение целого типа. Sqr(x) Квадрат х, т. е. X*X Sqrt (х) Квадратный корень от х Вещественные типы данных

Символьные типы применяются для описания данных, значением которых является буква, цифра, знак препинания и другие символы. Существуют два фундаментальных символьных типа данных: Ansi. Char и Wide. Char. Они соответствуют двум различным системам кодировки символов. Данные типа Ansi. Char занимают один байт памяти и кодируют один из 256 возможных символов расширенной кодовой таблицы ANSI, в то время как данные типа Wide. Char занимают два байта памяти и кодируют один из 65536 символов кодовой таблицы Unicode. Кодовая таблица Unicode — это стандарт двухбайтовой кодировки символов. Первые 256 символов таблицы Unicode соответствуют таблице ANSI, поэтому тип данных Ansi. Char можно рассматривать как подмножество Wide. Char Тип данных Char является обобщенным и соответствует типу Ansi. Char. Символьные типы данных

Булевские типы данных названы так в честь Георга Буля (George Boole), одного из авторов формальной логики. Диапазон значений данных булевских типов представлен двумя предопределенными константами: True — истина и False – ложь Булевские типы данных широко применяются в логических выражениях и в выражениях отношения. Переменные типа Boolean используются для хранения результатов логических выражений и могут принимать только два значения: False и True (стандартные идентификаторы). Булевские типы данных Byte. Bool, Word. Bool и Long. Bool введены в язык Delphi специально для совместимости с другими языками, в частности с языками C и C++. Все булевские типы данных совместимы друг с другом и могут одновременно использоваться в одном выражении. Булевские типы данных

Тип данных Диапазон значений Объем памяти (байт) Boolean False (0), True (1) 1 Byte. Bool False (0), True (не равно 0) 1 Word. Bool False (0), True (не равно 0) 2 Long. Bool False (0), True (не равно 0) 4 Булевские типы данных

Кроме стандартных типов данных язык Delphi поддерживает типы, определенные программистом. Новый тип данных определяется с помощью зарезервированного слова type, за которым следует идентификатор типа, знак равенства и описание. Описание завершается точкой с запятой. Например, можно определить тип, тождественный существующему типу: type TUnicode = W >

Идентификаторы новых типов в примере начинаются заглавной буквой T (первая буква слова type). Такое соглашение о типах программиста принято разработчиками среды Delphi, но оно не является строгим. Синтаксическая конструкция type позволяет создавать новые порядковые типы: перечисляемые типы и интервальные типы. Определение новых типов данных

Перечисляемый тип данных представляет собой список значений, которые может принимать переменная этого типа. Каждому значению поставлен в соответствие идентификатор, используемый в программе для указания этого значения. type TDirection = (North, South, East, West); Перечисляемые типы данных

Интервальный тип данных задается двумя константами, ограничивающими диапазон значений для переменных данного типа. Обе константы должны принадлежать одному из стандартных порядковых типов (но не вещественному и не строковому). Значение первой константы должно быть обязательно меньше значения второй. Например, определим интервальный тип TDigit: type TDigit = 0. . 9; var Digit: TDigit; begin Digit : = 5; Digit : = 10; // Ошибка! Выход за границы диапазона end. Интервальные типы данных

Выражения Переменные и константы всех типов могут использоваться в выражениях. Выражение задает порядок выполнения действий над данными и состоит из операндов, круглых скобок и знаков операций. Операнды представляют собой константы, переменные и вызовы функций. Операции — это действия, выполняемые над операндами. Например, в выражении (X + Y) / 2; X, Y, 2 — операнды; ‘+’, ‘/’ — знаки операций; скобки говорят о том, что сначала выполняется операция сложения, потом — деления. Операции над данными

Операции в языке Delphi подразделяются на арифметические, операции отношения, логические (булевские), строковые, операцию получения адреса и другие. Выражения соответственно называются арифметическими, отношения, булевскими, строковыми и т. д. в зависимости от того, какого типа операнды и операции в них используются. Операции над данными

Арифметические операции Операция Действие Тип операндов Тип результата + Сложение Целый, вещественный — Вычитание Целый, вещественный * Умножение Целый, вещественный / Деление Целый, вещественный Вещественный div Целочисленное деление Целый mod Остаток от деления Целый Операции над данными

Арифметические операции Выражение Результат 6. 8 — 2 4. 8 7. 3 * 17 124. 1 -(5 + 9) -14 -13. 5 / 5 -2. 7 -10 div 4 -2 27 div 5 5 5 div 10 0 5 mod 2 1 11 mod 4 3 -20 mod 7 -6 Операции над данными

Операции отношения выполняют сравнение двух операндов и определяют, истинно значение выражения или ложно. Сравниваемые величины могут принадлежать к любому порядковому типу данных. Результат всегда имеет булевский тип. Эта группа операций специально разработана для реализации алгоритмических элементов типа «больше», «больше или равно» и т. п. , которые имеются практически в каждой программе. Операции над данными

Илон Маск рекомендует:  Что такое код getwindowext

Операции отношения Операция Действие Выражение Результат = Равно A = B True, если A = B <> Не равно A <> B True, если A B Больше A > B True, если A > B = Больше или равно A >= B True, если A > B или A = B Операции над данными

132 False 17 132 False 17 Операции отношения Выражение Результат 123 = 132 False 123 <> 132 False 17 19 False 7 >= 7 True Операции над данными

Очередность выполнения операций Операция Приоритет Описание -, not Первый Унарный минус, отрицаиие *, /, div, mod, and Второй Операции типа умножение +, -, or, xor Третий Операции типа сложение =, <>, , = Четвертый Операции отношения Операции над данными

Несоответствие типов данных — частая ошибка. Преобразовывать одни типы данных в другие требуется очень часто. Чтобы работать с числом, мы должны введённый текст (именно текст) преобразовать в число. Преобразования могут выполняться разными способами. Основной из них — применение специальных функций. Функции принимают один из несколько параметров (аргументов), одним из которых является переменная или значение, подлежащее преобразованию. Функция выполняет какие-то операции и возвращает значение нужного типа. Преобразование типов данных

Для преобразования текста (строки) в целое число служит функция Str. To. Int(). Название абсолютно точно отражает назначение функции. У функции единственный параметр — строка, а на выходе получается число. Как называется функция для такого перевода, легко догадаться — Int. To. Str() Преобразование типов данных

Функция Значение Str. To. Int( const Value: String ): Integer; Перевод значение типа string в integer Int. To. Str( Value: Integer ): String; Конвертирует значение типа integer в строку Int. To. Hex( Value: DWord; Digits: Integer ): String; Конвертирует значение типа integer в строку составленную из символов цифр в шестеричном исчисление. Параметр Digits определяет минимальное количество цифр Int. To. Ths( I: Integer): String; Конвертирует значение типа integer в строку. Между тремя цифрами ставится символ: ‘, ‘ (удобна для вывода цифр больше тысячи). Int. To. Digs( Value, Digits: Integer ): String; Преобразование integer в string. Digits — указывает сколько минимально символов в строке. Если Digits больше количества цифр в значении то недостающие цифры заменяются нулями. Num. To. Bytes( Value: Double ): String; Преобразование значение в строку исходя из того, что значение это количество байт. Если значение достаточно большое, число представляется в виде килобайт (с буквой K в конце), или мегабайт (M), гигабайт (G) или терабайт (T) Hex. To. Int( const Value: String ): Integer; Перевод шестеричного числа в integer. Значение конвертируется до первого символа не входящую в шестеричные цифры. Преобразование типов данных

Следует упомянуть и о дробных числах, ведь иногда без них не обойтись. В целом, их ввод и вывод практически такой же, как и целых чисел, только используются функции Str. To. Float() и Float. To. Str(). Всё просто. Однако с вещественными числами есть одна проблема — разделитель целой и дробной части. Дело в том, что нет определённости, какой символ считать разделителем — точку или запятую. Какой символ выбирается — зависит от настроек операционной системы (в Windows этот знак определяется в Панели управления в разделе Язык и региональные стандарты). Таким образом, если заточить программу под запятую, то на системах, где установлена точка, работать ничего не будет и будут возникать ошибки во время работы. В то же время, под точку тоже нельзя затачивать программу, ведь может стоять и запятая. К счастью, решение есть. Есть переменная, которую нигде не нужно объявлять, но значение которой можно менять — это переменная Decimal. Separator. Она объявлена в модуле Sys. Utils и хранит тот символ, который будет считаться разделителем. Установить нужное значение достаточно один раз — например при запуске программы. Работа с вещественными числами

Для ввода целых чисел есть удобный элемент — TSpin. Edit. Расположен он на вкладке Samples. По внешнему виду похож на TEdit, только в поле ещё находятся две кнопки со стрелками — для изменения значения. Допустимые границы числа задаются свойствами Min. Value и Max. Value, а само значение хранится в свойстве Value. Различные способы вывода

Простое окно с сообщением — Show. Message() Самое примитивное окно содержит указанный текст и кнопку OK для закрытия окна. Вызвать такое окно можно процедурой Show. Message(), параметром которой является текст — он и будет отображён в окне. Различные способы вывода

Диалоговое окно — Message. Dlg() Диалоговые окна — более сложный тип окон. Диалоговые окна часто используются для «общения» с пользователем. Однажды такое окно нами уже использовалось — при закрытии окна программы мы спрашивали у пользователя, действительно ли окно нужно закрыть. Теперь разберём работу с такими окнами подробно. Создаются диалоговые окна функцией Message. Dlg(). Это именно функция, а не процедура. Возвращаемым значением является кнопка, которую нажал пользователь. У функции 4 входных параметра Различные способы вывода

Диалоговое окно — Message. Dlg() Параметры: Текст сообщения (тип данных — String); Тип диалогового окна (специальный тип данных — TMsg. Dlg. Type) — указывает на значок, расположенный в окне и на заголовок окна. Этот параметр задаётся одной из следующих констант: mt. Information — информационное окно (значок в окне — буква «i»); mt. Confirmation — окно с вопросом (значок — воспросительный знак); mt. Warning — предупреждающее окно (значок — восклицательный знак); mt. Error — окно с сообщением об ошибке (значок — крест на красном фоне); mt. Custom — окно без значка, а в заголовке — название исполняемого файла программы (все остальные типы в заголовок помещают соответствующее типу д