
Время - самое дорогое, что у нас есть
Собственно, сегодня не будет ни Excel в Delphi, ни работы в Web, ни новинок RAD Studio 2010. Сегодня я хотел бы поговорить о времени.
Пожалуй редко кто из нас всерьёз и часто задумывается над тем, сколько времени он тратит впустую - на "попить пивка", погулять, поспать и т.д. Конечно, жизнь без таких бездействий была бы жутко скучна, НО сколько на это уходит времени? Признаюсь честно, сам я лентяй ещё тот. Как в пословице: "Еж птица гордая - пока не пнешь не полетит". Так и я - пока не появиться какой-нибудь форс-мажорный фактор для действий буду сидеть и нифига не делать. А время проходит...< ' ' >
Буквально месяц назад у меня появился хороший знакомый - SeregaAltmer с которым мы встречаемся только на просторах Рунета, т.к. живем в разных городах, но с которым достаточно активно разрабатываем новую версию "Блевантона". И, надо сказать, командная работа дала свой результат. Согласитесь, что становится как-то стыдно и не приятно на душе, когда знаешь, что своей ленью подводишь кого-то? Так и мне пару дней, приходя с работы, вместо того, чтобы страдать ничегонеделаньем запускать Delphi и выполнять свою часть работы над программой. Теперь вроде бы по проекту вошел в колею, работаю, Серега частенько учит тем приемам программирования на Delphi, в которых я, мягко говоря, ничего не смыслю. Разбираюсь короче. Но это дома. И выполняемая мной, в этом случае работа, никакой по сути финансовой выгоды не несет. А жить на что? Вот тут-то в этой проблеме не одна сотня собак зарыта.
Т.к. работаю я практически по свободному графику и могу брать заказы домой, то, соответственно, так и поступаю. Пришел на работу, взял заказ, пошел домой "выполнять". А выполнять как-то не с руки - тут и проект, тут и телек и все дела. Да плюс к тому и память дырявая.
Пробывал ставить на рабочий стол напоминалки типа Desktop Celendar -- бесят уже через день как установлю. Особенно злит тугая загрузка и дико здоровая панель на рабочем столе. В Яндекс.Нано нашел какой-то deskDO - тоже чего-то не хватает... А не хватает элементарного - времени. Вот я и решил написать, так сказать, "под себя" небольшую но достаточно полезную программу - Хронометр, который будет все время напоминать только лишь своим видом о том, что работа стоит. Эдакий виртуальный пинатель. И вот что у меня получилось.
Перед Вами главное окно программы (картинки все кликабельны). Как видите все до безобразия просто - записываем новое задание, жмем кнопку "В список!" и задание попадает в обработку.
Как только в списке появилось задание - начинает тикать таймер, неумолимо и точно отсчитывая секунды драгоценного времени. И ничего Вы с этим таймером не сделаете - он не ставится на паузу, не отматывается назад, не ускоряется - просто тикает. И тикает до тех пор - пока весь список запланированных задач не будет выполнен. Даже если вы выключите компьютер - суровый Хронометр это запомнит и при включении покажет правильное время. Так что обмануть Хронометр нельзя - да и не стоит. Тем более, что с его помощью можно, например засечь время выполнения какой-нибудь операции.
Следующий момент, который заставляет всё время помнить о невыполненной работе - иконка программы в трее. Причем при получении задания Хронометр начинает этой иконкой активно мигать, попеременно показывая Вам то часики, то значок бакса
, чтобы мы с Вами всегда помнили, что "Время - деньги". Мигание прекращается только в случае, если список заданий пуст.
Вот, кстати, на рисунке вид Хронометра с выполненной задачей. После того, как поставлена отметка о выполнении, Хронометр показывает Вам время, которое прошло с момента старта задания.
Списки заданий можно редактировать. Например, двойной клик по заданию удаляет его бесследно из списка. Причем, не задавая никаких вопросов типа "А вы точно хотите удалить задание?" и пр. При нажатии на ссылку "Создать новый" старый список полностью удаляется, а время таймера устанавливается снова на ноль.
Хронометр закрывается только в двух случаях:
- Если Вы выключите компьютер
- Если вы вызовите контекстное меню кликом правой кнопки мыши по иконке в трее и выберите соответствующий пункт.
Сделано это для того, чтобы случайно вместо сворачивания окна не закрыть его. Да и зачем закрывать? Пусть висит в трее и своим видом портит нам отдых.
Также, чтобы лишний раз не дёргать окно с программой, из контекстного меню можно добавить новое задание в список. А всплывающая подсказка у иконки покажет Вам текущее время выполнения заданий или сообщит о том, что список заданий пуст.
Вот такая маленькая, но полезная программа "Хронометр". И, не смотря на то, что я потратил на эту программу пару часов времени, а время - деньги, я решил выложить это творение в свободный доступ. Скачивайте, работайте, следите за временем :) Ну, а если кто-то все же решит простимулировать меня материально, то я не откажусь. Добровольные взносы принимаются на кошельки:
- R200985316566
- Z403336858990
- ЯД 41001164868040
Кстати, для кого-то заработок в интернете уже стал реальностью.
UPDATE 10.11.2011 : скачать последнюю версию программы Вы всегда можете с сайта "Хронометра". Ниже представлена ссылка на устаревшую версию, про которую рассказывается в этой статье.
UPEDATE:
1.Исправлена ошибка при создании нового списка задач
2. Изменен процесс работы с таймером. Теперь контроль времени осуществляет мультимедийный таймер, а не компонент Delphi. Проблема с зависанием интерфейса должна быть решена, но к сожалению точно проверить не могу, т.к. программа как работала так и работает на 3-х машинах. При возникновении проблемы с зависанием интерфейса очень прошу сообщить мне здесь или по e-mail
UPDATE
Новая версия Хронометра доступна для скачивания здесь
Мой блог находят по следующим фразам
- Компонент отсчитывающий время работы приложения
- delphi unicode chr
- RAD studio 2010 лезет в инет
- alphacontrols
- всплывающие подсказки для кнопок в Lazarus
- delphi excel ole 'worksheets.add'
| Делись! | Загружай! | Плюсуй! |
| | |









18 Сен 2009 в 2:04 дп
Тормозит весь интерфейс, хотя клики отрабатывают, задачи добавляются, но отрисовка задерживатеся на многие секунды. Хорошо хоть проц не ест. При клике, в самом начале кода еще список пустой, на «создать новый» — Access violation at address 004B4EC6 in module ‘Chrono.exe’. Read of adress 000000000.
18 Сен 2009 в 2:54 дп
По поводу ошибки- исправлю, а вот на счет того, что тормозит интерфейс….даже пока ничего сказать не могу, т.к. проверял работу на слабеньком ноуте — не тормозил. Но раз у кого-то возникли проблемы — значит буду исправлять. Спасибо за отзыв.
18 Сен 2009 в 2:28 пп
Успешно начал тестировать прогу!
За пару минут никаких багов не найдено.
Жаль что не кросплатформенная прога…пришлость тестировать в эмулированной WinXpSp3…Мне понравилась сама идея проги! Полезная вещь.
18 Сен 2009 в 2:58 пп
Это как нет? Ну небыло лет 5 назад…это миф.
А чем Lazarus плох?
18 Сен 2009 в 3:18 пп
даже больше 10метров…это всё потому, что по умолчанию тянется gtk). Можно и без него, но тогда нуна наличает какойнить фронтендной библиотеки, либо делать зависимости. Это так сказать то, чем нужно жертвовать ради кроплатформенности) Просто я видел очень крупный проект, написаный на лазарусе..это круто) Перекомпилил под любую ось и все радуются)
18 Сен 2009 в 5:08 пп
А ну так я те по сикрету скажу что нечто похожее в висте есть)) Но правда эта фича появилась в юниксах ещё до выхода висты))
Кстати в плане эффектов взгляни если представится возможность на KDE 4.2 и выше…я думаю ты в шоке будешь))
18 Сен 2009 в 2:37 пп
Большое спасибо за помощь :) Жаль, что под Linux нормальных оболочек нет для Delphi — так бы на работе переписал бы под Linux.
18 Сен 2009 в 3:07 пп
Lazarus пробовал на работе ставить…может чего не так делал, т.к. в Linux далеко не спец, но блин исполняемый файл в 10 с лишним Mb при наличии одной пустой формы — это очень плохо :) Поэтому снес его практически сразу. Kylix уже не поддерживается. Прикручивал голый Object Pascal на Eclipce … пропарился над одной формой полдня и чё-тотак соскучился по своей родно Delphi, что решил писать только под Win пока :)
А вообще, если идея программы понравилась, то могу посоветовать использовать on-line штуку под названием microToDo — практически один-в-один Хронометр, но только в виде html-странички со скриптом
Кстати, идея «Хронометра» практически 1-к-1 соответствует microToDo. Просто мне пользоваться on-line неудобно вот и написал «под себя» ак сказать программку и решил подклиться со всеми
18 Сен 2009 в 3:21 пп
мммм…так ведь и уболтаете — перестану работать, начну Linux изучать :) Хотя и так надо уже начинать — скоро всю контору под Ubuntu посадят
18 Сен 2009 в 3:29 пп
Да я собственно и не пытаюсь уболтать…Просто многие фанаты unix проходят несколько стадий:
Посмотрел…»О круто»…пытается изучать линуху…всё кажется сложно
Снова возвращается под винду.
Понимает что в линухе много чего было круто.
Становиться уже не совсем ламером в линухе и потом понимает, что место винды только в пробирке-:)
Ну убунту…это кривоватая вещь ИМХО. Я вот себе собрал (правда мне помогали) Gentoo…мне кажется что тут самая лучшая система управления пакетами! Под вирутуальной виндой пока всё что ставил идёт. Правда с играми проблемы…они тоже решаемы, но мне лень наэто тратить время..зато времени осовободилось много времени)
18 Сен 2009 в 3:37 пп
Значит я сейчас можно сказать стою на второй стадии, т.к. дома удунту снес, опять же по причине программирования. Детская конечно штука, но я был в шоке от оконных эффектов в Убунту…не помню как пакет называется, но штука зрелищная — 3D-кубик рабочего стола, эффект сгорания и т.д. На работе посавил — админ чуть не съел — пришлось сносить. В винде ещё наверно лет 10 такого не сделают:)
18 Сен 2009 в 6:07 пп
Виста — фуфло ещё то)) KDE у соседа стоит надо глянуть чего там
19 Сен 2009 в 8:51 дп
Да на счёт того, что это фуфло, я с тобой полностб согласен. Я наверно потратил месяца два чтобы привести её в более менее рабочий вариант. Все как сговорились часть ПО, которое прекрасно работало на XP или не работает вообще, или нужно с бубном походить чтобы оно заработало! А некоторые производители вообще обнаглели выпускают драва для нового оборудования чисто для висты.
Чисто мне KDE не нравиться…оно конечно красиво, но не всё там удобно…да и 4.2 версия вообще жрёт ресурсов похлеще чем виста, а вот 4.3 они учли это и сделали намного шустрее…без урезки функционала и графы. Так что я фанат XFCE)
19 Сен 2009 в 5:42 пп
Класс! Афтару респект!
19 Сен 2009 в 10:09 пп
класс)мне понра)особенно!
30 Сен 2009 в 6:07 пп
Установил, пользуюсь. И думаю, буду еще пользоваться достаточно долго. Спасибо.
И все-же хочется слегка доработанную, еще более человеко-удобную и полезную версию))
1.Не плохо было-бы привязать быстрые клавиши на сворачивание/разворачивание, добавление/удаление.
2.Отдельный таймер для каждой задачи (прямо в списке задач), без утраты общего таймера конечно, в нем вся соль :).
3.У блога есть свой собственный Пульс. Имхо аналогичный Пульс в хронометре, приумножил бы его эффективность.
4.Работу «Без вопросов» ), лучше вынести галкой в настройки, печально будет очистить список из десятка задач, случайно промахнувшись мимо кнопки [В список], попав на «Создать новый».
5.Исправить ошибочку, в контекстном меню трэйиконки, — пункт «Добавить задание», добавляет его в любом случае даже при нажатии [Alt+F4] ))
30 Сен 2009 в 11:42 пп
Сразу видно отзыв программиста :)) Ну что ж, раз есть пожелания по развитию — значит будем писать новую версию.
По поводу отдельного таймера…на самом деле при завершении задачи рядом с ней высвечивается время выполнения. Но суть и цель пожелания мне вполне понятна, поэтому доработать, думаю, особого труда не составит :)
01 Окт 2009 в 10:47 дп
ЭЭэ…у меня тое есть пожелания:
Неплохо было бы добавить всплывающее окошко, при наведении на трай-иконку, в которой показывался список пользовательских задач.
Если будет добавлен таймер на каждую задачу (мне тоже нравиться эта идея), то можнобыло бы в всплывающем окне кроме задач (см. п 1) показывать ещё текущее состояние таймера для каждой задачи.
В будущем (пока катострофически сказывается недостаток времени), если конечно автор решить выложить исходники, могу попробовать портировать кода на другие платформы (в частности на Gentoo собственной сборки-:D)
02 Окт 2009 в 8:22 дп
Ещё можно было бы добавить возможность автозагрузки с чтением/записью задач. Хорошо бывает настрочил себе задач и не успел сделать всё с утреца поднялся врубил комп, смотришь…ага а задачки то ещё не все выполнены.
Кстати у меня появилась ещё одна идея. Это конечно уже какой-то загон, да и реализовать это довольно сложно, но всё-таки озвучу. Идея вот в чём: у каждой задачи можно указать какие приложения нужны для её выполнения и контролить чтобы были открыты именно окна требуемых прог (по процессам нереально контролить их сама ОС порождает кучу). Естественно в процессе работы могут понадобиться и другие приложения (например, кто-то написал по асе стандартное приветсвие, и вам нужно овтетить что вы заняты ), поэтому просто врубать дополнительный таймер и через определённое время показывать в модальном режиме окно со звуковым сопровождением, что мол типо харе фигнё страдать -:)
Ну вобщем как-то так.
02 Окт 2009 в 3:30 дп
Scandium, принято :) Сейчас один компонентик допишу и возьмусь за Хронометр. Исходники не секретны, думаю, что выложу их вместе с обновленной версией. Может даже в посте чиркану мало-мальскую спецификацию, чтоб если что по-понятнее было что, где и как происходит
02 Окт 2009 в 10:57 дп
Ну естественно поделюсь -:) А ты левые компоненты используешь в нём? или тока стандарт+самописные?
02 Окт 2009 в 3:58 дп
Найдена ошибочка:
После удаления всех невыполненных задач, при наличии выполненных таймер продолжает тикать.
02 Окт 2009 в 4:07 дп
Серега, ты как всегда радуешь меня своими комментами)) Серьезно. Наконец-то полезли баги наружу, а то я уж думал «всё! трындец! Написал прогу и без багов» :) Исправлю.
З.Ы. Все пожелания и замечания аккуратненько записываю…на выходных начну ваять Хронометр №2.
02 Окт 2009 в 9:31 дп
Автозагруз — без проблем, а вот по поводу последнего новшества, по-моему лишнее…все-таки Хронометр не бабайка виртуальная, чтоб пользователя пугать :) Да и цель тогда теряется — не настойчивое воздействие на пользователя.
02 Окт 2009 в 10:04 дп
Ну это я высказал идею вслух)
Кстати, так а что на счёт портации на unix? Дашь потом исходники? Мне тут прото описали методику портирования давольно неплохую и практически без гемора!
02 Окт 2009 в 10:48 дп
Да я вроде как исходники сильно не жму :) Выложу, мож кто-нибудь чего-нибудь поправит, исправит. Только чур поделишься портированной версией — засвечу на работе потом
02 Окт 2009 в 10:58 дп
Только стандартный VCL. Но т.к. пишу подD2009-2010 то с портированием могут быть траблы.
02 Окт 2009 в 12:55 пп
Ну если чисто vcl, то траблы будут, но не большие…но это в теории…ну вот и посмотрю насколько возможна поратация.