
Время — самое дорогое, что у нас есть
Собственно, сегодня не будет ни Excel в Delphi, ни работы в Web, ни новинок RAD Studio 2010. Сегодня я хотел бы поговорить о времени.
Пожалуй редко кто из нас всерьёз и часто задумывается над тем, сколько времени он тратит впустую — на «попить пивка», погулять, поспать и т.д. Конечно, жизнь без таких бездействий была бы жутко скучна, НО сколько на это уходит времени? Признаюсь честно, сам я лентяй ещё тот. Как в пословице: «Еж птица гордая — пока не пнешь не полетит». Так и я — пока не появиться какой-нибудь форс-мажорный фактор для действий буду сидеть и нифига не делать. А время проходит…
Буквально месяц назад у меня появился хороший знакомый — SeregaAltmer с которым мы встречаемся только на просторах Рунета, т.к. живем в разных городах, но с которым достаточно активно разрабатываем новую версию «Блевантона». И, надо сказать, командная работа дала свой результат. Согласитесь, что становится как-то стыдно и не приятно на душе, когда знаешь, что своей ленью подводишь кого-то? Так и мне пару дней, приходя с работы, вместо того, чтобы страдать ничегонеделаньем запускать Delphi и выполнять свою часть работы над программой. Теперь вроде бы по проекту вошел в колею, работаю, Серега частенько учит тем приемам программирования на Delphi, в которых я, мягко говоря, ничего не смыслю. Разбираюсь короче. Но это дома. И выполняемая мной, в этом случае работа, никакой по сути финансовой выгоды не несет. А жить на что? Вот тут-то в этой проблеме не одна сотня собак зарыта.
Т.к. работаю я практически по свободному графику и могу брать заказы домой, то, соответственно, так и поступаю. Пришел на работу, взял заказ, пошел домой «выполнять». А выполнять как-то не с руки — тут и проект, тут и телек и все дела. Да плюс к тому и память дырявая.
Пробывал ставить на рабочий стол напоминалки типа Desktop Celendar — бесят уже через день как установлю. Особенно злит тугая загрузка и дико здоровая панель на рабочем столе. В Яндекс.Нано нашел какой-то deskDO — тоже чего-то не хватает… А не хватает элементарного — времени. Вот я и решил написать, так сказать, «под себя» небольшую но достаточно полезную программу — Хронометр, который будет все время напоминать только лишь своим видом о том, что работа стоит. Эдакий виртуальный пинатель. И вот что у меня получилось.
Перед Вами главное окно программы (картинки все кликабельны). Как видите все до безобразия просто — записываем новое задание, жмем кнопку «В список!» и задание попадает в обработку.
Как только в списке появилось задание — начинает тикать таймер, неумолимо и точно отсчитывая секунды драгоценного времени. И ничего Вы с этим таймером не сделаете — он не ставится на паузу, не отматывается назад, не ускоряется — просто тикает. И тикает до тех пор — пока весь список запланированных задач не будет выполнен. Даже если вы выключите компьютер — суровый Хронометр это запомнит и при включении покажет правильное время. Так что обмануть Хронометр нельзя — да и не стоит. Тем более, что с его помощью можно, например засечь время выполнения какой-нибудь операции.
Следующий момент, который заставляет всё время помнить о невыполненной работе — иконка программы в трее. Причем при получении задания Хронометр начинает этой иконкой активно мигать, попеременно показывая Вам то часики, то значок бакса
, чтобы мы с Вами всегда помнили, что «Время — деньги». Мигание прекращается только в случае, если список заданий пуст.
Вот, кстати, на рисунке вид Хронометра с выполненной задачей. После того, как поставлена отметка о выполнении, Хронометр показывает Вам время, которое прошло с момента старта задания.
Списки заданий можно редактировать. Например, двойной клик по заданию удаляет его бесследно из списка. Причем, не задавая никаких вопросов типа «А вы точно хотите удалить задание?» и пр. При нажатии на ссылку «Создать новый» старый список полностью удаляется, а время таймера устанавливается снова на ноль.
Хронометр закрывается только в двух случаях:
- Если Вы выключите компьютер
- Если вы вызовите контекстное меню кликом правой кнопки мыши по иконке в трее и выберите соответствующий пункт.
Сделано это для того, чтобы случайно вместо сворачивания окна не закрыть его. Да и зачем закрывать? Пусть висит в трее и своим видом портит нам отдых.
Также, чтобы лишний раз не дёргать окно с программой, из контекстного меню можно добавить новое задание в список. А всплывающая подсказка у иконки покажет Вам текущее время выполнения заданий или сообщит о том, что список заданий пуст.
Вот такая маленькая, но полезная программа «Хронометр». И, не смотря на то, что я потратил на эту программу пару часов времени, а время — деньги, я решил выложить это творение в свободный доступ. Скачивайте, работайте, следите за временем :) Ну, а если кто-то все же решит простимулировать меня материально, то я не откажусь. Добровольные взносы принимаются на кошельки:
- R200985316566
- Z403336858990
- ЯД 41001164868040
UPDATE 10.11.2011 : скачать последнюю версию программы Вы всегда можете с сайта «Хронометра». Ниже представлена ссылка на устаревшую версию, про которую рассказывается в этой статье.
[download id=»13″ format=»1″]UPEDATE:
1.Исправлена ошибка при создании нового списка задач
2. Изменен процесс работы с таймером. Теперь контроль времени осуществляет мультимедийный таймер, а не компонент Delphi. Проблема с зависанием интерфейса должна быть решена, но к сожалению точно проверить не могу, т.к. программа как работала так и работает на 3-х машинах. При возникновении проблемы с зависанием интерфейса очень прошу сообщить мне здесь или по e-mail
[download id=»14″ format=»1″]UPDATE
Новая версия Хронометра доступна для скачивания здесь

Тормозит весь интерфейс, хотя клики отрабатывают, задачи добавляются, но отрисовка задерживатеся на многие секунды. Хорошо хоть проц не ест. При клике, в самом начале кода еще список пустой, на «создать новый» — Access violation at address 004B4EC6 in module ‘Chrono.exe’. Read of adress 000000000.
По поводу ошибки- исправлю, а вот на счет того, что тормозит интерфейс….даже пока ничего сказать не могу, т.к. проверял работу на слабеньком ноуте — не тормозил. Но раз у кого-то возникли проблемы — значит буду исправлять. Спасибо за отзыв.
Успешно начал тестировать прогу!
За пару минут никаких багов не найдено.
Жаль что не кросплатформенная прога…пришлость тестировать в эмулированной WinXpSp3…Мне понравилась сама идея проги! Полезная вещь.
Большое спасибо за помощь :) Жаль, что под Linux нормальных оболочек нет для Delphi — так бы на работе переписал бы под Linux.
Это как нет? Ну небыло лет 5 назад…это миф.
А чем Lazarus плох?
Lazarus пробовал на работе ставить…может чего не так делал, т.к. в Linux далеко не спец, но блин исполняемый файл в 10 с лишним Mb при наличии одной пустой формы — это очень плохо :) Поэтому снес его практически сразу. Kylix уже не поддерживается. Прикручивал голый Object Pascal на Eclipce … пропарился над одной формой полдня и чё-тотак соскучился по своей родно Delphi, что решил писать только под Win пока :) А вообще, если идея программы понравилась, то могу посоветовать использовать on-line штуку под названием microToDo — практически один-в-один Хронометр, но только в виде html-странички со скриптом Кстати, идея «Хронометра» практически… Подробнее »
даже больше 10метров…это всё потому, что по умолчанию тянется gtk). Можно и без него, но тогда нуна наличает какойнить фронтендной библиотеки, либо делать зависимости. Это так сказать то, чем нужно жертвовать ради кроплатформенности) Просто я видел очень крупный проект, написаный на лазарусе..это круто) Перекомпилил под любую ось и все радуются)
мммм…так ведь и уболтаете — перестану работать, начну Linux изучать :) Хотя и так надо уже начинать — скоро всю контору под Ubuntu посадят
Да я собственно и не пытаюсь уболтать…Просто многие фанаты unix проходят несколько стадий:
Посмотрел…»О круто»…пытается изучать линуху…всё кажется сложно
Снова возвращается под винду.
Понимает что в линухе много чего было круто.
Становиться уже не совсем ламером в линухе и потом понимает, что место винды только в пробирке-:)
Ну убунту…это кривоватая вещь ИМХО. Я вот себе собрал (правда мне помогали) Gentoo…мне кажется что тут самая лучшая система управления пакетами! Под вирутуальной виндой пока всё что ставил идёт. Правда с играми проблемы…они тоже решаемы, но мне лень наэто тратить время..зато времени осовободилось много времени)
Значит я сейчас можно сказать стою на второй стадии, т.к. дома удунту снес, опять же по причине программирования. Детская конечно штука, но я был в шоке от оконных эффектов в Убунту…не помню как пакет называется, но штука зрелищная — 3D-кубик рабочего стола, эффект сгорания и т.д. На работе посавил — админ чуть не съел — пришлось сносить. В винде ещё наверно лет 10 такого не сделают:)
А ну так я те по сикрету скажу что нечто похожее в висте есть)) Но правда эта фича появилась в юниксах ещё до выхода висты))
Кстати в плане эффектов взгляни если представится возможность на KDE 4.2 и выше…я думаю ты в шоке будешь))
Виста — фуфло ещё то)) KDE у соседа стоит надо глянуть чего там
Да на счёт того, что это фуфло, я с тобой полностб согласен. Я наверно потратил месяца два чтобы привести её в более менее рабочий вариант. Все как сговорились часть ПО, которое прекрасно работало на XP или не работает вообще, или нужно с бубном походить чтобы оно заработало! А некоторые производители вообще обнаглели выпускают драва для нового оборудования чисто для висты.
Чисто мне KDE не нравиться…оно конечно красиво, но не всё там удобно…да и 4.2 версия вообще жрёт ресурсов похлеще чем виста, а вот 4.3 они учли это и сделали намного шустрее…без урезки функционала и графы. Так что я фанат XFCE)
Класс! Афтару респект!
класс)мне понра)особенно!
Установил, пользуюсь. И думаю, буду еще пользоваться достаточно долго. Спасибо. И все-же хочется слегка доработанную, еще более человеко-удобную и полезную версию)) 1.Не плохо было-бы привязать быстрые клавиши на сворачивание/разворачивание, добавление/удаление. 2.Отдельный таймер для каждой задачи (прямо в списке задач), без утраты общего таймера конечно, в нем вся соль :). 3.У блога есть свой собственный Пульс. Имхо аналогичный Пульс в хронометре, приумножил бы его эффективность. 4.Работу «Без вопросов» ), лучше вынести галкой в настройки, печально будет очистить список из десятка задач, случайно промахнувшись мимо кнопки [В список], попав на «Создать новый». 5.Исправить ошибочку, в контекстном меню трэйиконки, — пункт «Добавить задание»,… Подробнее »
Сразу видно отзыв программиста :)) Ну что ж, раз есть пожелания по развитию — значит будем писать новую версию.
По поводу отдельного таймера…на самом деле при завершении задачи рядом с ней высвечивается время выполнения. Но суть и цель пожелания мне вполне понятна, поэтому доработать, думаю, особого труда не составит :)
ЭЭэ…у меня тое есть пожелания:
Неплохо было бы добавить всплывающее окошко, при наведении на трай-иконку, в которой показывался список пользовательских задач.
Если будет добавлен таймер на каждую задачу (мне тоже нравиться эта идея), то можнобыло бы в всплывающем окне кроме задач (см. п 1) показывать ещё текущее состояние таймера для каждой задачи.
В будущем (пока катострофически сказывается недостаток времени), если конечно автор решить выложить исходники, могу попробовать портировать кода на другие платформы (в частности на Gentoo собственной сборки-:D)
Scandium, принято :) Сейчас один компонентик допишу и возьмусь за Хронометр. Исходники не секретны, думаю, что выложу их вместе с обновленной версией. Может даже в посте чиркану мало-мальскую спецификацию, чтоб если что по-понятнее было что, где и как происходит
Найдена ошибочка:
После удаления всех невыполненных задач, при наличии выполненных таймер продолжает тикать.
Серега, ты как всегда радуешь меня своими комментами)) Серьезно. Наконец-то полезли баги наружу, а то я уж думал «всё! трындец! Написал прогу и без багов» :) Исправлю.
З.Ы. Все пожелания и замечания аккуратненько записываю…на выходных начну ваять Хронометр №2.
Ещё можно было бы добавить возможность автозагрузки с чтением/записью задач. Хорошо бывает настрочил себе задач и не успел сделать всё с утреца поднялся врубил комп, смотришь…ага а задачки то ещё не все выполнены. Кстати у меня появилась ещё одна идея. Это конечно уже какой-то загон, да и реализовать это довольно сложно, но всё-таки озвучу. Идея вот в чём: у каждой задачи можно указать какие приложения нужны для её выполнения и контролить чтобы были открыты именно окна требуемых прог (по процессам нереально контролить их сама ОС порождает кучу). Естественно в процессе работы могут понадобиться и другие приложения (например, кто-то написал по… Подробнее »
Автозагруз — без проблем, а вот по поводу последнего новшества, по-моему лишнее…все-таки Хронометр не бабайка виртуальная, чтоб пользователя пугать :) Да и цель тогда теряется — не настойчивое воздействие на пользователя.
Ну это я высказал идею вслух)
Кстати, так а что на счёт портации на unix? Дашь потом исходники? Мне тут прото описали методику портирования давольно неплохую и практически без гемора!
Да я вроде как исходники сильно не жму :) Выложу, мож кто-нибудь чего-нибудь поправит, исправит. Только чур поделишься портированной версией — засвечу на работе потом
Ну естественно поделюсь -:) А ты левые компоненты используешь в нём? или тока стандарт+самописные?
Только стандартный VCL. Но т.к. пишу подD2009-2010 то с портированием могут быть траблы.
Ну если чисто vcl, то траблы будут, но не большие…но это в теории…ну вот и посмотрю насколько возможна поратация.
[…] назад я представлял Вашему вниманию программу «Хронометр» для ведения списка повседневных задач. Но, не […]