Программа-напоминалка Дежурный 2015 (Программа-будильник)

Service program, recalls the events, alarm clock — Source code / VB .NET

Главное окно программы

glavnaja-forma

Имеет несколько функциональных кнопок плюс чекбокс, регулирующий положение формы.

ПКМ по форме вызывается контекстное меню, в котором частично продублированы функции кнопок

menju-prilozhenija

Форма настроек приложения

nastrojki

Форма со списком событий

spisok-napominanij

Форма редактирования/добавления напоминания

novoe-napominanie

Форма оповещения о наступившем событии

napominanie


Виды событий.

Виды событий выбираются в создании нового напоминания с помощью выбора соответствующей радиокнопки.

Программа хранит несколько видов событий:
1) Разовое событие. Сработает лишь однажды и будет отключено (потухнет колокольчик в списке событий)
2) Событие по дням недели. Например, каждый вторник и четверг нужно отправить отчет после обеда. Будет срабатывать каждую неделю до максимально допустимой даты
3) Определенные дни в году. Это даты в пределах одного года, но каждый год. Например — дни рождения коллег по работе
4) События по дням месяца. Выбираются числа месяца. Напоминание будет срабатывать каждый месяц из года в год в заданные числа. Стоит помнить, что если указано 30-е число, то в феврале напоминание не сработает.
5) Произвольные даты — схожее с п.3, с тем лишь отличием, что в том выбираются даты в пределах года, а здесь — любые даты и года. Все эти события можно считать разовыми.

Программа проверяет заполнение поля с текстом напоминания и корректность введенного времени.
В этой же форме задается активность напоминания. Любое напоминание можно включить или выключить, не удаляя. Это можно сделать в режиме редактирования, установив или сняв соответствующий флаг, либо включить или выключить колокольчик в списке напоминаний.
Удалить напоминание можно в списке событий на круглую кнопку с красным крестиком.

Виды оповещения

Программа имеет два основных вида оповещения — это сигнал и запуск файла

Сигнал.

Это может быть любой mp3, wav или midi-файл. Путь к нему указывается в настройках приложения. В случае, если путь не указан, или файл более не существует, будет проигрываться штатный mp3 файл из папки приложения.
В каждом напоминании можно указать и свой файл для воспроизведения. Если это не сделано, будет звучать файл, выставленный в настройках приложения, либо файл по умолчанию (Default.mp3)

В настройках можно изменить характер напоминания.
Есть поле для ввода интервала между сигналами («Отсрочка напоминания»). Это сделано для того, чтобы пользователь не пропустил событие. Ведь в момент срабатывания за ПК может никого и не быть. Если в окне напоминания нажать «Ок», то напоминание не будет отсрочено и будет считаться выполненной задачей. Если пользователь ничего не нажал, или нажал «Напомнить позже», то сигнал снова прозвучит через количество минут, указанное в настройках. И так будет происходить до тех пор, пока пользователь не отреагирует.
Сняв галку «Не напоминать вновь и вновь» такого происходить не будет, но есть шанс упустить оповещение.

Так же есть две опции: Циклическое воспроизведение и Закрыть по окончании трека
Первая опция обеспечит проигрывание напоминания бесконечное количество раз, вторая — закроет окно оповещения по окончании трека.

Запуск файла

Если выбрана эта опция, то программа в назначенное время попытается запустить файл, указанному через диалог, либо прописанному в поле вручную. Предусмотрена возможность запуска файла с параметрами. Например, команда shutdown с параметрами -s -t 0 -f выключит ПК в назначенный час.
Запускать можно как исполняемые файлы, так и любые другие, у которых есть программа, открывающая их. Ярлыки не запускаются.


В программе можно использовать «скин», выбрав картинку в настройках приложения. PNG с прозрачностью использовать не рекомендуется.
Радиокнопка «Использовать этот скин» немедленно применяет новый фон для формы.
Установив флаг «Режим перетаскивания элементов», можно мышкой расставить кнопки и метки, так, чтобы они наиболее гармонично подходили под новый скин. В настройках формы можно изменить цвет компонентов.
В случае, если хочется быстро вернуть прежний скин и расставить компоненты, как это было с самого начала, нужно выбрать пункт контекстного меню «Сброс всех настроек»

Режим «Хамелеон» создает иллюзию, что у формы пропал фон.

rezhim-khameleon

На деле приложение просто «фотографирует» участок экрана под формой и ставит полученное изображение в качестве фона. Не работает в Windows 8 И 10.

Форма напоминания

Их две — основная и миниатюрная в углу экрана — устанавливается в настройках приложения.
Основная форма отображает время и текст напоминания, а так же дополнительную информацию — в какие дни оно работает и какой файл проигрывается. Форма циклически изменяет прозрачность и плавно перебирает цвета метки с текстом события. Мини-форма не содержит дополнительной информации. Имеет две кнопки — «Закрыть» и «Напомнить позже». Текст метки мигает.

В программе предусмотрен пункт контекстного меню «Окно оповещения» для демонстрации примера.


Немного информации для программистов
В приложении используется пример применения бинарной сериализации, динамические массивы классов, создание пользовательского элемента управления и его «привязка» к динамической коллекции, вынесение отдельного функционала в отдельные классы, перемещение ЭУ мышью, использование класса Settings, воспроизведение mp3, работа с датой и временем и т.д.

Скачать проект с исходным кодом





Запись опубликована в рубрике Исходники и проекты на Visual Basic .NET. Добавьте в закладки постоянную ссылку.


Что еще можно почитать

Игра «Алкоголик»: проект (исходники) (Декабрь 18, 2015)
Добавить программу в «открыть с помощью» (Декабрь 4, 2015)
Отзыв о Beeline (Январь 22, 2016)
Обратиться к открытой форме по имени (Декабрь 4, 2015)
Сделать скриншот экрана (Декабрь 4, 2015)


Добавить комментарий