Delphi. Учимся на примерах - [43]

Шрифт
Интервал

Таблица Д.1. Числовые типы данных языка Object Pascal

Целочисленные типы Диапазон значений Типы чисел с плавающей запятой Диапазон значений
Byte 0..255 Real 5.0·10>-324..1.7·10>308
ShortInt -128..127 Real48 2.9·10>-39..1.7·10>38
SmallInt -32768..32767 Single 1.5·10>-45..3.4·10>38
Word0..65535 Double 5.0·10>-324..1.7·10>308
Integer, LongInt -2147483648..21474883647 Extended 3.6·10>-4951..1.1·10>4932
Cardinal, LongWord 0..4294967295 Comp -2>63+1..2>63–1
Int64 -2>63..2>63–1 Currency -922337203685477.5808..922337203685477.5807

Символьный тип

Символьный тип обозначается при помощи ключевого слова Char к его значения хранят только один символ.

Строковые типы

В языке Object Pascal используются два обобщенных строковых типа:

• String — если в проекте Delphi указана директива компилятора {$H+} (поддержка больших строк), то этому типу соответствуют строки длиной от 0 до 2147483648 символов; в противном случае типу String соответствуют строки длиной от 0 до 255 символов;

• PChar — тип, аналогичный строковому типу языка C.

По своей сути, строковые значения — это массивы символов, в которых нумерация элементов для типа String начинается с 1, а для типа PChar — с 0.

Булев тип данных

Переменная булевого типа занимает один байт памяти и может принимать только одно из двух значений: True ("истина", "да", 1) или False ("ложь", "нет", 0). Булев тип обозначается при помощи ключевого слова Boolean.

Массивы

Массив — это упорядоченная именованная совокупность однотипных значений, к которым можно обращаться по их порядковому номеру (индексу). Для описания массивов в языке Object Pascal используют следующие формы:

• array [1..N1] of type — одномерный массив фиксированного размера (N1 — размерность массива, type — тип значений, хранимых в массиве);

• array[1..N1, 1..N2] of type — двухмерный массив фиксированного размера;

• array[1..N1, 1..N2, 1..N3] of type — трехмерный массив фиксированного размера;

• array of type — массив переменного размера. Длину таких массивов можно изменять в процессе выполнения программы при помощи процедуры SetLength. Индексация значений начинается с 0.

Константы

Константа — это именованное фиксированное значение. Для объявления констант используют конструкцию вида:

>const имя_константы = значение;

Например:

>const Factor = 1.756;

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

Переменные

Переменная — это именованное значение определенного типа, которое можно изменять в процессе выполнения программы. Для объявления переменных используют запись следующего вида:

var имя_переменной: имя_типа;

Например :

>var

> i: Integer; //переменная i типа Integer

> s: String; //переменная S типа String

> MyArray: array[1..10] of Char; {переменная MyArray — массив значений типа Char. Эту переменную можно было бы также объявить как String[10]}

При обращении и инициализации переменных используют следующие правила:

• для присвоения значений переменным используют оператор присваивания :=;

• строковые и символьные значения, присваиваемые переменным, заключают в одинарные кавычки ('с', ' строка');

• для обращения к отдельным элементам массива или отдельным символам строки используют запись вида: а[1] — для одномерных массивов и строк; а[3][1] – для двухмерных массивов; а[1][6][2] — для трехмерных массивов и т. д.;

• в качестве типа переменной может быть указан как встроенный тип языка Object Pascal, так и пользовательский, определенный при помощи ключевого слова type (создание пользовательских типов рассматривается ниже).

К переменным в программе обращаются по их идентификаторам.

Пример для типа String:

>var

> s1, s2: String; //объявляем две переменные типа String

> с: Char; //и одну типа Char

> ...

>s1:= 'Строка'; //присваиваем s1 некоторое значение

>с:= s[1]; //переменная с хранит значение 'С'

>s2:= s1 + с; //в s2 сохраняем строку 'СтрокаС'

>…

Пример для динамического массива:

>var

> MyArray: array of Char; s: String;

> …

>SetLength(MyArray, 1); //устанавливаем длину массива = 1

>A[0]:= 'С';

>SetLength(MyArray, 2); //устанавливаем длину массива = 2

>А[1]:= 'т';

>s:= А[0] + А[1] + 'рока' //в s сохраняется значение 'Строка'

>…

Пользовательские типы данных

Для объявления пользовательских типов, используют конструкцию вида:

>type имя_типа = описание_типа;

К примеру, таким образом можно объявлять типы множеств, перечислимые типы и подтипы.

Множества

Множество — это совокупность однотипных целочисленных или символьных значений, среди которых не может быть двух одинаковых. Для объявления типа множества используется запись вида

>set of первое_значение..последнее_значение;

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

Например:

>type

> TNumbers = set of 1..10;

> TAlphabet = set of 'a';

>var

> Odds, Evens: TNumbers;

> ABC: TAlphabet;

> …

>Odds:= [1, 3, 5, 7, 9];

>Evens:= [2, 4, 6, 8, 10];

>ABC:= ['a', 'b', 'с'];

>…

Перечислимые типы

Перечислимые типы используют для определения упорядоченных наборов значений в виде списка идентификаторов, соответствующих этим значениям. Для объявления таких типов используют запись следующего вида:


Рекомендуем почитать
Графика DirectX в Delphi

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


Вторая жизнь старых компьютеров

Сейчас во многих школах, институтах и других учебных заведениях можно встретить компьютеры старого парка, уже отслужившие свое как морально, так и физически. На таких компьютерах можно изучать разве что Dos, что далеко от реалий сегодняшнего дня. К тому же у большинства, как правило, жесткий диск уже в нерабочем состоянии. Но и выбросить жалко, а новых никто не дает. Различные спонсоры, меценаты, бывает, подарят компьютер (один) и радуются, как дети. Спасибо, конечно, большое, но проблемы, как вы понимаете, этот компьютер в общем не решает, даже наоборот, усугубляет, работать на старых уже как-то не хочется, теперь просто есть с чем сравнивать.


DirectX 8. Начинаем работу с DirectX Graphics

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


Симуляция частичной специализации

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


Обработка событий в С++

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


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.