ПОНЯТНО О Visual Basic NET (том 2)


13.5.6. Делаем будильник


Поместим в рамку с именем Будильник все объекты, необходимые для будильника:

  • Метку с именем Метка_будильника
  • Текстовое поле с именем Циферблат_будильника
  • Кнопку с именем Кнопка_включения_выключения_будильника
  • Кнопку с именем Кнопка_выключения_звонка

В циферблат занесем в режиме проектирования текст 12:00:00.  Просто для того, «чтобы было». В качестве циферблата мы выбрали текстовое поле, а не метку. А это для того, чтобы иметь возможность в режиме работы вручную устанавливать время будильника.

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

Вспомните, как мы занимались музыкой в «Плеере». Поместите на форму Windows Media Player и дайте ему имя Звонок. Сделайте его невидимым. Для настройки звонка достаточно трех операторов в процедуре Form1_Load:

        Звонок.AutoStart = False         'Чтобы не запускался слишком рано

        Звонок.PlayCount = 0               'Чтобы  закончив играть, начинал снова

        Звонок.FileName = "Mozart's Symphony No. 40.RMI"

Эта троица, несмотря на то, что встретится в программе скорее всего только один раз, в глазах программиста просится стать процедурой. Здесь принцип такой:

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

Это улучшит понятность и читабельность программы – один из важнейших факторов ее качества.

Запустит воспроизведение мелодии оператор Звонок.Play(), но он должен выполниться только тогда, когда время на циферблате часов совпадет со временем на циферблате будильника.

Вот как дополнится теперь наш проект (я показываю только те процедуры, которых коснулись дополнения):

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Настройка_звонка()




Начало  Назад  Вперед