Вы уже, очевидно, догадались, что ModelMaker лишь создает заготовки методов, оставляя заполнение их тел программисту. Убедитесь, что в браузере членов класса выбран конструктор Create, перейдите на вкладку Implementation, щелкнув на ее ярлычке в верхней части рабочей зоны, и введите следующие операторы (рис. 6.9):

inherited Create(AOwner);
FTimer := TTimer.Create(Self);
FTimer.OnTimer := Timer;
FTimer.Enabled := True;
Caption := TimeToStr(Time);

Выберите метод Timer в окне браузера членов класса и на вкладке Implementation введите такую его реализацию:

Caption := TimeToStr(Time);
invalidate;

if (TimeToStr(Time) = TimeToStr(FWatchTime)) and Assigned(FOnWatchTime) then FOnWatchTime(Self)

6.5. Кодирование методов

Рис. 6.9. Реализация конструктора

В последнем операторе проверка времени осуществляется как сравнение строк: TimeToStr (Time) = TimeToStr (FWatchClock). Нельзя сравнивать просто текущее время Time и значение поля FWatchTime, так как в этом случае в проверке участвуют не только моменты времени, но и даты, которые, в общем случае, могут быть разными. В последних версиях Delphi можно использовать более элегантную проверку:

CompareTime(Time, FWatchTime) = О

6.4. Определение новых членов класса || Оглавление || 6.6. Создание модуля компонента


Искусство создания компонентов Delphi



Новости за месяц

  • Декабрь
    2019
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31