Отправляет email-рассылки с помощью сервиса Sendsay

Школа программирования

  Все выпуски  

Школа программирования


Доброе время суток:) Сегодня мы начнем писать программу, которая будет...впрочем начнем с другого конца:)
Долго сидеть за компьютером плохо - об этом все знают. А что делают? Обычно - ничего. Поэтому предлагаю написать полезную программу, которая будет делать одну очень простую вешь - будет время от времени давать пинка, чтобы вы отошли на пару минут от компьютера. Мне очень понравилась одна из таких программ, которая называется EyeLoveU, скачать ее можно с сайта http://www.affdesign.com/. Скриншот программы я привожу ниже

elu

Мы спроектируем и напишем аналогичную программу (только бесплатную).
Итак приступим:) Немного подумав, я понял, что наша программа будет иметь два окна. Одно окно - то, которе будет открываться на весь экран и мешать Вам что-нибудь сделать, а второе окно - окно настроек. Настроек в общем-то немного - два временных интервала. Первый - это время, которое пройдет от начала работы программы до перерыва (пинка), а второй длительность перерыва:).
Схематично отобразим эти окна так.

Схематично изобразим окна
Что конкретно нужно сделать - спросите Вы:)? Вот домашнее задание - нужно создать приложение, основанное на диалоговом окне. Диалоговое окно должно быть таким.

диалог настроек

Что будет делать это окно? Ну конечно же управлять вторым окном. Для этого мы запустим таймер с периодом в одну секунду и обнулим счетчик тиков таймера. Каждый раз когда таймер будет срабатывать, мы сверим значение счетчика тиков с временем между перерывами. Как только эти значения сравняются мы откроем наш второй диалог, обнулим счетчик и будем ждать пока значения счетчика и время перерыва не сравняются. Как только они сравняются, мы закроем окно. Далее будет повторяться тоже самое. Обратите внимание на одну деталь - одно окно всегда управляет другим. При проектировании надо следовать нескольким правилам. Вот два из них.
  1. KISS. - keep it simple stupid - что значит простота - залог здоровья. Т.е. если видяться несколько решений, нужно выбирать что проще.
  2. Думать стратегически. - всегда думать о том, что потом придут гениальные идеи и мы их будем реализовывать при этом не переписывая всю программу:)
Вы думаете я отвлекся - ничего подобного. Проследим как наша деталь (одно окно всегда управляет другим) соответсвует нашим принципам. Это просто. Можно конечно усложнить так. Первое окно показывает второе, там запускается таймер, когда нужно оно закроется и передаст управление первому окну. На счет второго правила. Такой принцип позволит легко добавить новые окна, если вдруг это нам понадобиться. Главное чего мы этим достигнем - не будет логических петель управления.

На сегодня все:) Если Вы не очень дружите с VC посетите сайт http://www.firststeps.ru и прочитайте побольше про Visual C++
Далее следует....

В избранное