Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Назначение Трей-приложение "Хронометр" ведет историю работы пользователя за компьютером - запоминает в базе данных заголовки активных окон и время их активности. Это позволяет затем анализировать потраченное на работу за компьютером время. Например, можем ввести в поле поиска символы 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
предложил бы всё же сделать более жёсткий контроль- прописать время игры ограниченным_т.е. выделили 2-3 часа на игрушку- и всё Пусть ребёнок сам выбирает когда играть-_ а сколько- выбирают родители.Ну а для заканчивания игры-чтоб не хныкал давать дополнительное время после сигнала (допустим 10 мин).То же самое предложил бы и по остальному. Ребёнок -по моему опыту_ без пинка не уйдёт.Стимул должен быть. А целом отличная работа
Пусть ребёнок сам выбирает когда играть-_ а сколько- выбирают родители.
Была похожая мысль, может быть в следующих версиях реализую. Оторваться от компа, конечно, ребенку очень сложно... Создавать сам еще ничего не может (соответственно не знает чувства настоящего удовлетворения от творчества), а развлекаться хочется. А когда виртуальные шлемы да костюмы станут дешевыми, то вообще труба... Страшно представить масштабы зависимости...
ЦитатаAS3856 ()
А в целом отличная работа
Спасибо! Многое можно улучшить, естественно. Но я стараюсь выкладывать практически всё, что делаю, чтобы были примеры для тех, кто хочет осваивать NeoBook.
Обновил архив с проектом (ссылка из первого поста, прежняя).
Добавлено:
- добавление ноля к значениям времени в таблице (если значение меньше десяти), чтобы сортировка работала корректно.