Вы уже, очевидно, догадались, что 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
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс