Константы-записи

Определение константы-записи имеет следующий вид:

<идентификатор>: <тип> = (<сп.знач.полей>)

Здесь <идентификатор> - идентификатор константы; <тип> - тип записи; <сп. знач. полей> - список значений полей.

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

type
Point = record
X, Y: Real
end;

Vect = array [0..1] of Point;
Month = (Jan, Feb, Mar, Apr, May, Jun, Jly, Aug, Sep, Oct, Nov, Dec);
Date = record
D: 1..31;
M: month;
Y: 1900..1999 end;

const
Origon: Point = (X: 0; Y: -1);
Line: Vector = ((X: -3.1; Y: 1.5), (X: 5.9; Y: 3.0));
SomeDay: Date = (D: 16; M: May; Y: 1997);

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

type
Forma = record
case Boolean of
True: (Birthplace: String [40]);
False: (Country: String [20];
EntryPort: String [20];
EntryDate: array [1..3] of Word;
Count: Word)
end;
const
Percon1: Forma = (Country: 'Норвегия';
EntryPort: 'Мурманск';
EntryDate: (16, 3, 89);
Count: 12);
Percon2: Forma = (Birthplace: 'Москва');

Константы-множества

Значение типизированной константы-множества задается в виде правильного конструктора множества, например:

type
Days = set of 1..31;
Digc = set of ' 0 '.. ' 9 ';
Error = set of 1..24;
const
WorkDays: Days = [1..5, 8..12, 15..19, 22..26, 29, 30];
EvenDigits: Digc = ['0', '2', '4', '6', '8'];
ErrorFlag: Error= [];

Константы-указатели

Единственным значением типизированной константы-указателя может быть только nil, например:

const pR: ^Real = NIL;

Инициация переменных

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

Инициированная переменная получает присвоенное ей значение один раз - в момент старта программы; в дальнейшем она хранит последнее присвоенное ей значение. Пример инициации переменной:

unit Unit1.


implementation
var
MyVar: Integer = 10;
end.

Инициировать переменные следует с учетом тех же ограничений и по тем же правилам, что и типизированные константы.

Классы общего назначения

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: