logo search
Лабораторная работа6

Добавление свойств

У нашего компонента должно быть два свойства - min и max для задания минимальной и максимальной границ для выдаваемого случайного числа. Делаем это следующим образом:

...

TRandom = class(TLabel)

private

{ Private declarations }

Fmin: Integer;

Fmax: Integer;

...

published

{ Published declarations }

property min: Integer read Fmin write Fmin;

property max: Integer read Fmax write Fmax;

end;

...

Свойство min (и абсолютно аналогичное свойство max) мы заводим следующим образом - во-первых, мы объявляем в классе закрытую переменную Fmin нужного типа и во-вторых, мы в разделе published нашего класса объявляем само свойство. Свойство объявляется с помощью ключевого слова property, за которым следует имя свойства (min), его тип (Integer в данном случае) и как мы это свойство читаем и записываем. Так как наше свойство min это, фактически, внутренняя переменная Fmin, то после слов read и write мы соответственно пишем имя этой переменной класса. Так как мы поместили свойства в published-секцию нашего класса, то эти свойства появятся в Инспекторе объектов. Если нам надо сделать свойство только для чтения или только для записи, то в этом случае надо писать лишь части read или write, соответственно.

Заметьте, кстати, что имена внутренних полей принято начинать на букву F - чтобы сразу было понятно, что это имя поля.