Чтение онлайн

ЖАНРЫ

Delphi. Учимся на примерах

Парижский Сергей Михайлович

Шрифт:

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

Символьный тип обозначается при помощи ключевого слова 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', 'с'];

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

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

Поделиться с друзьями: