Программный Файл: ...\Samples\Solution\Controls\Timer\Swatch.scx
Данный Пример построен на использовании Класса Секундомера (Stopwatch Class).
Класс Секундомера.
Рассматриваемый Класс Секундомера построен на основе базового класса Таймера (Timer) и нескольких объектов типа Label. Объект Таймера увеличивает числовое значение пользовательского Свойства Класса и устанавливает соответствующее значение свойства Caption (для отображения соответствующих значений секундомера).
В методе Start данного класса устанавливается значение свойства Enabled используемого таймера, = true (.T.). В методе6 Stop устанавливается значение указанного свойства Enabled, = false (.F.). А завершающий метод Reset устанавливает значение Таймера = 0, (останавливает таймер, секундомер).
Форма Секундомера
Демонстрационная Форма Секундомера содержит Объект, порожденный рассматриваемым классом Секундомера (Stopwatch class), на форме также имеются кнопки Управления секундомером. Основной программный Код содержится в Коде событий Click, в первой кнопке вызываются соответствующие методы Start и Stop класса секундомера. Во второй кнопке выполняется метод Reset - очистка объектов отображения.
Защищенные Свойства и Методы
Рассматриваемый Пример иллюстрирует также использование Защищенных свойств и методов создаваемых Классов. Класс Секундомера содержит три (3) защищенных свойства: nSec, nMin, nHour; и один защищенный метод: UpdateDisplay.
Совет |
|---|
|
Для отображения характеристик указанных Свойств и Методов выберите подпункт Class Info из системного подменю Class. |
Защищенные свойства используются для внутренних вычислений в защищенном методе UpdateDisplay ключевого события Timer рассматриваемого Класса. Указанный метод UpdateDisplay устанавливает отображаемое свойство Сaption, которое содержит текущее время Секундомера.
| Программный Код | Комментарии | ||||
|---|---|---|---|---|---|
|
Выполняется Конвертация числовых значений Секундомера в соответствующие символьные значения объектов отображения. |
||||
|
Выполняется добавление лидирующих Нулей если текущее значение рассматриваемого показателя меньше чем 10 (<10). |
||||
В следующем списке приводятся фрагменты программного Кода ключевого События: tmrSWatch.Timer:
| Программный Код | Комментарии | ||||
|---|---|---|---|---|---|
|
Увеличивает значение свойства |
||||
|
Если значение свойства Вызывается метод |
||||
Класс Секундомера имеет три незащищенных метода: Start, Stop, Reset. Пользователь может использовать указанные методы, чтобы напрямую управлять данным Секундомером.
Метод Start содержит следующий фрагмент программного Кода:
Копировать
Код |
|
|---|---|
THIS.tmrSWatch.Enabled = .T. |
|
Метод Stop содержит следующий фрагмент программного Кода:
Копировать
Код |
|
|---|---|
THIS.tmrSWatch.Enabled = .F. |
|
Метод Reset устанавливает нулевые значения защищенных Свойств и вызывает защищенный метод:
Копировать
Код |
|
|---|---|
THIS.nSec = 0 |
|
Пользователь не может непосредственно изменить значения указанных Свойств и вызвать указанный Метод (UpdateDisplay). Однако он может выполнить требуемые вычисления и установки в программном Коде метода Reset.


Совет