Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 1
  • 1
Модератор форума: Peter, DEMBEL  
Форум NeoBook » Всё о программе NeoBook » Проекты NeoBook » Утилита Chronometer - контроль затраченного времени (Позволяет анализировать историю работы за компьютером)
Утилита Chronometer - контроль затраченного времени
ВадимДата: Чт, 27 Февраля 2014, 14:29 | Сообщение # 1
Генератор идей
Chronometer
v.4.0

Скрин


Назначение
Трей-приложение "Хронометр" ведет историю работы пользователя за компьютером - запоминает в базе данных заголовки активных окон и время их активности. Это позволяет затем анализировать потраченное на работу за компьютером время.
Например, можем ввести в поле поиска символы mozilla и получим сумму времени проведенного пользователем за этим браузером (если он конечно не вставал и не уходил на это время попить чаю).

Смысл программы
Сделал для киндера, чтобы он мог сам учиться контролировать потраченное за компом время.
Дело в том, что обычный "родительский контроль винды" - это довольно жесткая и грубая система - доступ открывается пользователю и закрывается с диапазоном в час, жесткий контроль заставляет ребенка просить пароль (унижаться и врать), доступ отрубается по расписанию независимо от того, что сейчас делает ребенок за компьютером (сколько минут ему еще нужно, например, чтобы доиграть) и т.д.
Совсем оставлять без контроля тоже нельзя - ребенок еще не может сам остановиться, пойти подышать воздухом, сходить на тренировку, сделать уроки, поесть... Т.е. нужен более гибкий и мягкий вариант контроля, когда ребенок сможет сам включать и выключать компьютер, исходя из определенной разумной квоты (например, на неделю договорились выделять столько-то часов на игрушки, если нет двоек и т.д., но это уже всё очень индивидуально).

Функции
- запоминает время старта системы, имя пользователя;
- проигрывает звуковой файл через заданный пользователем интервал (чтобы "ощущать время"; возможно позже я сделаю возможным выбор любого файла через программу, сейчас же это можно сделать просто подменив файл в папке с проектом, задав ему имя budilnik.mp3). Будильник ставится и снимается кликом по иконке часов над полем ввода строки поиска, горячая клавиша Enter;
- пишет в базу заголовки активных окон, что позволяет знать во сколько и сколько времени какая прога и какой файл (или какая вкладка в браузере) были открыты;
- создает базу данных, если ее удалили;
- очищает базу данных, если выбрана такая команда и введен верный пароль (используется один универсальный пароль для всех защищенных функций программы);
- отображает записи базы данных, позволяет их сортировать;
- позволяет делать выборки с автоматическим посчетом затраченного времени (в фильтрации данных всегда участвует содержимое и выделенной в таблице ячейки, например, если выделен год 2014, то ввод в строку поиска символов mozilla отобразит все записи содержащие это слово за этот год; двойной клик по ячейке делает фильтр по содержимому этой ячейки; все фильтры накладываются один на другой: например, если выделен год 2014, я дважды кликнул по номеру месяца, затем по номеру дня и ввел в строку поиска слово mozilla, то отобразятся записи только за этот день, содержащие слово mozilla (при создании фильтра в поиске участвуют все опечатки, поэтому если вы ошиблись, то сбросьте фильтр и создайте его снова, может я позже автоматизирую это, чтобы исправление поискового запроса в строке поиска приводило к исправлению самого поискового запроса).
- сброс фильтра клавишей ESC.
- работа программы поддерживается с помощью дополнительного мини-приложения RunChr.exe (оно отображается в трее как AVASTController, чтобы не бросалось в глаза ребенку), которое запускает программу Chronometer.exe, если она была выключена. Мини-приложение извлекается из Хронометра, если было удалено;
- выход из программы Chronometer.exe осуществляется корректно только через двойное действие:
1) надо сначала выйти из мини-приложения через трей-меню (потребуется пароль, по умолчанию это: 1234), 2) выйти через трей-меню Хронометра (потребуется тот же пароль).
- опционально отправляет e-mail на указанный адрес с информацией о времени, имени пользователя и временем проведенным за компьютером. В почте можно настроить фильтр, чтобы письмо приходило в определенный ящик, а на этот ящик поставить SMS оповещения (проверено, работает на mail.ru).
- проверяет дату и время (сверяя с датой и временем в Интернет). Если есть отличия, то извещает - добавляет соответствующее сообщение в эл. письмо.

Благодарности
Сергей - за идею (и пример) запоминания заголовков активных окон (в самом начале проекта).
Mishem - за помощь в расчетах времени.
Peter - за помощь в расчетах времени и плагины (zmFunctions, zmaNTPClient).
Dembel - за функции шифрования (Crypt_RC4_string) и хеширования (MD5).
David Riley - за функцию (Send Mail CDO 2) отправки эл.почты.
Anton - за полезный плагин zmaNTPClient.

Используются
zmFunctions - плагин, использованный для работы с дескрипторами верхних окон.
Send Mail CDO 2 - функция для отправки эл.письма в нужной кодировке (в данном случае utf-8, чтобы отображалась кириллица).
Crypt_RC4_string - функция шифрования для хранения данных авторизации на сервере почты.
MD5 - функция хеширования используется для "хранения" пароля.
NeoBookPBPro - плагин для работы с базами данных.
zmaNTPClient - плагин получения времени из Интернета и с компьютера в заданном формате.

Внимание!
Прога делает записи в реестр, только в указанные ниже ключи.
Пишет данные авторизации на почтовом сервере в шифрованном виде, пишет хеш пароля для доступа к административным функциям и настройкам программы, а также другие данные в ключ:
"HKEY_CURRENT_USER" "Software\Chronometer\"
Программа прописывает себя и дополнительный модуль в автозагрузку системы, добавляя две записи:
"HKEY_CURRENT_USER" "Software\Microsoft\Windows\CurrentVersion\Run\Chronometer"
"HKEY_CURRENT_USER" "Software\Microsoft\Windows\CurrentVersion\Run\RunChr"
Приложение RunChr.exe отключает диспетчер задач и Alt+Tab. Вы можете снять эту функцию в настройках проекта, секция "Доступ" - надо просто снять соответствующую галочку.

Скачать проект
Отредактируйте адреса к используемым в проекте трем функциям (прилагаются, надеюсь Dembel не против того, что я выложил его функции).
_http://orgpsiholog.ru/downloads/neobook/Chronometer_PUB.zip

Приветствуются замечания и предложения.
Прикрепления: 2729853.png (214.7 Kb)


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)

Сообщение отредактировано
Вадим - Ср, 02 Апреля 2014, 21:07
 
СообщениеChronometer
v.4.0

Скрин


Назначение
Трей-приложение "Хронометр" ведет историю работы пользователя за компьютером - запоминает в базе данных заголовки активных окон и время их активности. Это позволяет затем анализировать потраченное на работу за компьютером время.
Например, можем ввести в поле поиска символы mozilla и получим сумму времени проведенного пользователем за этим браузером (если он конечно не вставал и не уходил на это время попить чаю).

Смысл программы
Сделал для киндера, чтобы он мог сам учиться контролировать потраченное за компом время.
Дело в том, что обычный "родительский контроль винды" - это довольно жесткая и грубая система - доступ открывается пользователю и закрывается с диапазоном в час, жесткий контроль заставляет ребенка просить пароль (унижаться и врать), доступ отрубается по расписанию независимо от того, что сейчас делает ребенок за компьютером (сколько минут ему еще нужно, например, чтобы доиграть) и т.д.
Совсем оставлять без контроля тоже нельзя - ребенок еще не может сам остановиться, пойти подышать воздухом, сходить на тренировку, сделать уроки, поесть... Т.е. нужен более гибкий и мягкий вариант контроля, когда ребенок сможет сам включать и выключать компьютер, исходя из определенной разумной квоты (например, на неделю договорились выделять столько-то часов на игрушки, если нет двоек и т.д., но это уже всё очень индивидуально).

Функции
- запоминает время старта системы, имя пользователя;
- проигрывает звуковой файл через заданный пользователем интервал (чтобы "ощущать время"; возможно позже я сделаю возможным выбор любого файла через программу, сейчас же это можно сделать просто подменив файл в папке с проектом, задав ему имя budilnik.mp3). Будильник ставится и снимается кликом по иконке часов над полем ввода строки поиска, горячая клавиша Enter;
- пишет в базу заголовки активных окон, что позволяет знать во сколько и сколько времени какая прога и какой файл (или какая вкладка в браузере) были открыты;
- создает базу данных, если ее удалили;
- очищает базу данных, если выбрана такая команда и введен верный пароль (используется один универсальный пароль для всех защищенных функций программы);
- отображает записи базы данных, позволяет их сортировать;
- позволяет делать выборки с автоматическим посчетом затраченного времени (в фильтрации данных всегда участвует содержимое и выделенной в таблице ячейки, например, если выделен год 2014, то ввод в строку поиска символов mozilla отобразит все записи содержащие это слово за этот год; двойной клик по ячейке делает фильтр по содержимому этой ячейки; все фильтры накладываются один на другой: например, если выделен год 2014, я дважды кликнул по номеру месяца, затем по номеру дня и ввел в строку поиска слово mozilla, то отобразятся записи только за этот день, содержащие слово mozilla (при создании фильтра в поиске участвуют все опечатки, поэтому если вы ошиблись, то сбросьте фильтр и создайте его снова, может я позже автоматизирую это, чтобы исправление поискового запроса в строке поиска приводило к исправлению самого поискового запроса).
- сброс фильтра клавишей ESC.
- работа программы поддерживается с помощью дополнительного мини-приложения RunChr.exe (оно отображается в трее как AVASTController, чтобы не бросалось в глаза ребенку), которое запускает программу Chronometer.exe, если она была выключена. Мини-приложение извлекается из Хронометра, если было удалено;
- выход из программы Chronometer.exe осуществляется корректно только через двойное действие:
1) надо сначала выйти из мини-приложения через трей-меню (потребуется пароль, по умолчанию это: 1234), 2) выйти через трей-меню Хронометра (потребуется тот же пароль).
- опционально отправляет e-mail на указанный адрес с информацией о времени, имени пользователя и временем проведенным за компьютером. В почте можно настроить фильтр, чтобы письмо приходило в определенный ящик, а на этот ящик поставить SMS оповещения (проверено, работает на mail.ru).
- проверяет дату и время (сверяя с датой и временем в Интернет). Если есть отличия, то извещает - добавляет соответствующее сообщение в эл. письмо.

Благодарности
Сергей - за идею (и пример) запоминания заголовков активных окон (в самом начале проекта).
Mishem - за помощь в расчетах времени.
Peter - за помощь в расчетах времени и плагины (zmFunctions, zmaNTPClient).
Dembel - за функции шифрования (Crypt_RC4_string) и хеширования (MD5).
David Riley - за функцию (Send Mail CDO 2) отправки эл.почты.
Anton - за полезный плагин zmaNTPClient.

Используются
zmFunctions - плагин, использованный для работы с дескрипторами верхних окон.
Send Mail CDO 2 - функция для отправки эл.письма в нужной кодировке (в данном случае utf-8, чтобы отображалась кириллица).
Crypt_RC4_string - функция шифрования для хранения данных авторизации на сервере почты.
MD5 - функция хеширования используется для "хранения" пароля.
NeoBookPBPro - плагин для работы с базами данных.
zmaNTPClient - плагин получения времени из Интернета и с компьютера в заданном формате.

Внимание!
Прога делает записи в реестр, только в указанные ниже ключи.
Пишет данные авторизации на почтовом сервере в шифрованном виде, пишет хеш пароля для доступа к административным функциям и настройкам программы, а также другие данные в ключ:
"HKEY_CURRENT_USER" "Software\Chronometer\"
Программа прописывает себя и дополнительный модуль в автозагрузку системы, добавляя две записи:
"HKEY_CURRENT_USER" "Software\Microsoft\Windows\CurrentVersion\Run\Chronometer"
"HKEY_CURRENT_USER" "Software\Microsoft\Windows\CurrentVersion\Run\RunChr"
Приложение RunChr.exe отключает диспетчер задач и Alt+Tab. Вы можете снять эту функцию в настройках проекта, секция "Доступ" - надо просто снять соответствующую галочку.

Скачать проект
Отредактируйте адреса к используемым в проекте трем функциям (прилагаются, надеюсь Dembel не против того, что я выложил его функции).
_http://orgpsiholog.ru/downloads/neobook/Chronometer_PUB.zip

Приветствуются замечания и предложения.

Автор - Вадим
Дата добавления - 27 Февраля 2014 в 14:29
AS3856Дата: Ср, 02 Апреля 2014, 12:34 | Сообщение # 2
Эксперт форума
предложил бы всё же сделать более жёсткий контроль- прописать время игры ограниченным_т.е. выделили 2-3 часа на игрушку- и всё
Пусть ребёнок сам выбирает когда играть-_ а сколько- выбирают родители.Ну а для заканчивания игры-чтоб не хныкал :D давать дополнительное время после сигнала (допустим 10 мин).То же самое предложил бы и по остальному. Ребёнок -по моему опыту_ без пинка не уйдёт.Стимул должен быть. :D
А целом отличная работа thumbs_up
 
Сообщениепредложил бы всё же сделать более жёсткий контроль- прописать время игры ограниченным_т.е. выделили 2-3 часа на игрушку- и всё
Пусть ребёнок сам выбирает когда играть-_ а сколько- выбирают родители.Ну а для заканчивания игры-чтоб не хныкал :D давать дополнительное время после сигнала (допустим 10 мин).То же самое предложил бы и по остальному. Ребёнок -по моему опыту_ без пинка не уйдёт.Стимул должен быть. :D
А целом отличная работа thumbs_up

Автор - AS3856
Дата добавления - 02 Апреля 2014 в 12:34
ВадимДата: Ср, 02 Апреля 2014, 21:04 | Сообщение # 3
Генератор идей
Цитата AS3856 ()
Пусть ребёнок сам выбирает когда играть-_ а сколько- выбирают родители.

Была похожая мысль, может быть в следующих версиях реализую. Оторваться от компа, конечно, ребенку очень сложно... Создавать сам еще ничего не может (соответственно не знает чувства настоящего удовлетворения от творчества), а развлекаться хочется. А когда виртуальные шлемы да костюмы станут дешевыми, то вообще труба... Страшно представить масштабы зависимости...
Цитата AS3856 ()
А в целом отличная работа
Спасибо! :) Многое можно улучшить, естественно. Но я стараюсь выкладывать практически всё, что делаю, чтобы были примеры для тех, кто хочет осваивать NeoBook.

Обновил архив с проектом (ссылка из первого поста, прежняя).

Добавлено:

- добавление ноля к значениям времени в таблице (если значение меньше десяти), чтобы сортировка работала корректно.

- добавил подпрограмму проверки даты и времени благодаря плагину zmaNTPClient (спасибо Петру и Антону!). Теперь прога сообщит, если дата была изменена или время отличается больше, чем на час.


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
Сообщение
Цитата AS3856 ()
Пусть ребёнок сам выбирает когда играть-_ а сколько- выбирают родители.

Была похожая мысль, может быть в следующих версиях реализую. Оторваться от компа, конечно, ребенку очень сложно... Создавать сам еще ничего не может (соответственно не знает чувства настоящего удовлетворения от творчества), а развлекаться хочется. А когда виртуальные шлемы да костюмы станут дешевыми, то вообще труба... Страшно представить масштабы зависимости...
Цитата AS3856 ()
А в целом отличная работа
Спасибо! :) Многое можно улучшить, естественно. Но я стараюсь выкладывать практически всё, что делаю, чтобы были примеры для тех, кто хочет осваивать NeoBook.

Обновил архив с проектом (ссылка из первого поста, прежняя).

Добавлено:

- добавление ноля к значениям времени в таблице (если значение меньше десяти), чтобы сортировка работала корректно.

- добавил подпрограмму проверки даты и времени благодаря плагину zmaNTPClient (спасибо Петру и Антону!). Теперь прога сообщит, если дата была изменена или время отличается больше, чем на час.

Автор - Вадим
Дата добавления - 02 Апреля 2014 в 21:04
Форум NeoBook » Всё о программе NeoBook » Проекты NeoBook » Утилита Chronometer - контроль затраченного времени (Позволяет анализировать историю работы за компьютером)
  • Страница 1 из 1
  • 1
Поиск: