Подписка

добавить на Яндекс

Наши проекты

Delphi+Google

Google API

Google API в Delphi - проект с открытым исходным кодом.

Chrono

Chrono

Хронометр - программа для ведения списка задач.

ODFProc

ODFProc

ODFProc - работа с документами OpenOffice в Lazarus и FreePascal.

Поддержка блога

А тут я коплю на лицензию Delphi XE на iPad =).
Сумма пожертвования не фиксирована.

Публикации

Год назад

Случайный пост

Последние

Сообщения форума

Комментарии

Социальные сети

Google

Facebook

Twitter

Опрос

Вы сейчас или в ближайшем обозримом будущем планируете разрабатывать кроссплатформенное приложение с использованием Firemonkey?



Loading ... Loading ...

Блоги и сообщества

Статьи по Delphi DelphiFeeds.ru - Все Delphi-блоги Рунета Сообщество умных людей VR-Online.RU Бесплатный журнал для программистов и всех, кто интересуется IT Статьи и уроки по Delphi Новостной блог о высоких технологиях
Система Orphus
Опубликовал Vlad 16 сентября 2009 в 19:36.
Категории: Без категории.


time

Время - самое дорогое, что у нас есть

Собственно, сегодня не будет ни Excel в Delphi, ни работы в Web, ни новинок RAD Studio 2010. Сегодня я хотел бы поговорить о времени.

Пожалуй редко кто из нас всерьёз и часто задумывается над тем, сколько времени он тратит впустую - на "попить пивка", погулять, поспать и т.д. Конечно, жизнь без таких бездействий была бы жутко скучна, НО сколько на это уходит времени? Признаюсь честно, сам я лентяй ещё тот. Как в пословице: "Еж птица гордая - пока не пнешь не полетит". Так и я - пока не появиться какой-нибудь форс-мажорный фактор для действий буду сидеть и нифига не делать. А время проходит...< ' ' >

Буквально месяц назад у меня появился хороший знакомый - SeregaAltmer с которым мы встречаемся только на просторах Рунета, т.к. живем в разных городах, но с которым достаточно активно разрабатываем новую версию "Блевантона". И, надо сказать, командная работа дала свой результат. Согласитесь, что становится как-то стыдно и не приятно на душе, когда знаешь, что своей ленью подводишь кого-то? Так и мне пару дней, приходя с работы, вместо того, чтобы страдать ничегонеделаньем запускать Delphi и выполнять свою часть работы над программой. Теперь вроде бы по проекту вошел в колею, работаю, Серега частенько учит тем приемам программирования на Delphi, в которых я, мягко говоря, ничего не смыслю. Разбираюсь короче. Но это дома. И выполняемая мной, в этом случае работа, никакой по сути финансовой выгоды не несет. А жить на что? Вот тут-то в этой проблеме не одна сотня собак зарыта.

Т.к. работаю я практически по свободному графику и могу брать заказы домой,  то, соответственно, так и поступаю. Пришел на работу, взял заказ, пошел домой "выполнять". А выполнять как-то не с руки - тут и проект, тут и телек и все дела. Да плюс к тому и память дырявая.

ПробыChrono_mainвал ставить на рабочий стол напоминалки типа Desktop Celendar -- бесят уже через день как установлю. Особенно злит тугая загрузка и дико здоровая панель на рабочем столе. В Яндекс.Нано нашел какой-то deskDO - тоже чего-то не хватает... А не хватает элементарного - времени. Вот я и решил написать, так сказать, "под себя" небольшую но достаточно полезную программу - Хронометр, который будет все время напоминать только лишь своим видом о том, что работа стоит. Эдакий виртуальный пинатель. И вот что у меня получилось.

Перед Вами главное окно программы (картинки все кликабельны). Как видите все до безобразия просто - записываем новое задание, жмем кнопку "В список!" и задание попадает в обработку.

Как только в списке появилось задание - начинает тикать таймер, неумолимо и точно отсчитывая секунды драгоценного времени. И ничего Вы с этим таймером не сделаете - он не ставится на паузу, не отматывается назад, не ускоряется - просто тикает. И тикает до тех пор - пока весь список запланированных задач не будет выполнен. Даже если вы выключите компьютер - суровый Хронометр это запомнит и при включении покажет правильное время. Так что обмануть Хронометр нельзя - да и не стоит. Тем более, что с его помощью можно, например засечь время выполнения какой-нибудь операции.

Следующий момент, который заставляет всё время помнить о невыполненной работе - иконка программы в трее. Причем при получении задания Хронометр начинает этой иконкой активно мигать, попеременно показывая Вам то часикиclock, то значок баксаdollar-sign, чтобы мы с Вами всегда помнили, что "Время - деньги". Мигание прекращается только в случае, если список заданий пуст.

Chrono_timeВот, кстати, на рисунке вид Хронометра с выполненной задачей. После того, как поставлена отметка о выполнении, Хронометр показывает Вам время, которое прошло с момента старта задания.

Списки заданий можно редактировать. Например, двойной клик по заданию удаляет его бесследно из списка. Причем, не задавая никаких вопросов типа "А вы точно хотите удалить задание?" и пр. При нажатии на ссылку "Создать новый" старый список полностью удаляется, а время таймера устанавливается снова на ноль.

Хронометр закрывается только в двух случаях:

  1. Если Вы выключите компьютер
  2. Если вы вызовите контекстное меню кликом правой кнопки мыши по иконке в трее и выберите соответствующий пункт.

Сделано это для того, чтобы случайно вместо сворачивания окна не закрыть его. Да и зачем закрывать? Пусть висит в трее и своим видом портит нам отдых.

Также, чтобы лишний раз не дёргать окно с программой, из Chrono_hintконтекстного меню можно добавить новое задание в список. А всплывающая подсказка у иконки покажет Вам текущее время выполнения заданий или сообщит о том, что список заданий пуст.

Вот такая маленькая, но полезная программа "Хронометр". И, не смотря на то, что я потратил на эту программу пару часов времени, а время - деньги, я решил выложить это творение в свободный доступ. Скачивайте, работайте, следите за временем :) Ну, а если кто-то все же решит простимулировать меня материально, то я не откажусь. Добровольные взносы принимаются на кошельки:

  • R200985316566
  • Z403336858990
  • ЯД 41001164868040

Кстати, для кого-то заработок в интернете уже стал реальностью.

UPDATE 10.11.2011 : скачать последнюю версию программы Вы всегда можете с сайта "Хронометра"Ниже представлена ссылка на устаревшую версию, про которую рассказывается в этой статье.

zip Хронометр(391.65 KB)

UPEDATE:

1.Исправлена ошибка при создании нового списка задач

2. Изменен процесс работы с таймером. Теперь контроль времени осуществляет мультимедийный таймер, а не компонент Delphi. Проблема с зависанием интерфейса должна быть решена, но к сожалению точно проверить не могу, т.к. программа как работала так и работает на 3-х машинах. При возникновении проблемы с зависанием интерфейса очень прошу сообщить мне здесь или по e-mail

zip Хронометр(391.83 KB)

UPDATE

Новая версия Хронометра доступна для скачивания здесь

Мой блог находят по следующим фразам

Понравилась статья? Тогда:
Делись! Загружай! Плюсуй!
   Отправить PDF на   
Читай ещё статьи на WebDelphi.ru

Комментарии (28)

WP_Cloudy
  • Александр пишет:

    Тормозит весь интерфейс, хотя клики отрабатывают, задачи добавляются, но отрисовка задерживатеся на многие секунды.  Хорошо хоть проц не ест.  При клике, в самом начале кода еще список пустой, на «создать новый» — Access violation at address 004B4EC6 in module ‘Chrono.exe’. Read of adress 000000000.

  • Vlad пишет:

    По поводу ошибки- исправлю, а вот на счет того, что тормозит интерфейс….даже пока ничего сказать не могу, т.к. проверял работу на слабеньком ноуте — не тормозил. Но раз у кого-то возникли проблемы — значит буду исправлять. Спасибо за отзыв.

  • Scandium пишет:

    Успешно начал тестировать прогу!
    За пару минут никаких багов не найдено.
    Жаль что не кросплатформенная прога…пришлость тестировать в эмулированной WinXpSp3…Мне понравилась сама идея проги! Полезная вещь.

  • Scandium пишет:

    Это как нет? Ну небыло лет 5 назад…это миф.
    А чем Lazarus плох?

  • Scandium пишет:

    даже больше 10метров…это всё потому, что по умолчанию тянется gtk). Можно и без него, но тогда нуна наличает какойнить фронтендной библиотеки, либо делать зависимости. Это так сказать то, чем нужно жертвовать ради кроплатформенности) Просто я видел очень крупный проект, написаный на лазарусе..это круто) Перекомпилил под любую ось и все радуются)

  • Scandium пишет:

    А ну так я те по сикрету скажу что нечто похожее  в висте есть)) Но правда эта фича появилась в юниксах ещё до выхода висты))
    Кстати в плане эффектов взгляни если представится возможность на KDE 4.2 и выше…я думаю ты в шоке будешь))

  • Vlad пишет:

    Большое спасибо за помощь :) Жаль, что под Linux нормальных оболочек нет для Delphi — так бы на работе переписал бы под Linux.

  • Vlad пишет:

    Lazarus пробовал на работе ставить…может чего не так делал, т.к. в Linux далеко не спец, но блин исполняемый файл в 10 с лишним Mb при наличии одной пустой формы — это очень плохо :) Поэтому снес его практически сразу. Kylix уже не поддерживается. Прикручивал голый Object Pascal на Eclipce … пропарился над одной формой полдня и чё-тотак соскучился по своей родно Delphi, что решил писать только под Win пока :)

    А вообще, если идея программы понравилась, то могу посоветовать использовать on-line штуку под названием microToDo — практически один-в-один Хронометр, но только в виде html-странички со скриптом
    Кстати, идея «Хронометра» практически 1-к-1 соответствует microToDo. Просто мне пользоваться on-line неудобно вот и написал «под себя» ак сказать программку и решил подклиться со всеми

  • Vlad пишет:

    мммм…так ведь и уболтаете — перестану работать, начну Linux изучать :) Хотя и так надо уже начинать — скоро всю контору под Ubuntu посадят

  • Scandium пишет:

    Да я собственно и не пытаюсь уболтать…Просто многие фанаты unix проходят несколько стадий:

    Посмотрел…»О круто»…пытается изучать линуху…всё кажется сложно
    Снова возвращается под винду.
    Понимает что в линухе много чего было круто.
    Становиться уже не совсем ламером в линухе и потом понимает, что место винды только в пробирке-:)

    Ну убунту…это кривоватая вещь ИМХО. Я вот себе собрал (правда мне помогали) Gentoo…мне кажется что тут самая лучшая система управления пакетами! Под вирутуальной виндой пока всё что ставил идёт. Правда с играми проблемы…они тоже решаемы, но мне лень наэто тратить время..зато времени осовободилось много времени)

  • Vlad пишет:

    Значит я сейчас можно сказать стою на второй стадии, т.к. дома удунту снес, опять же по причине программирования. Детская конечно штука, но я был в шоке от оконных эффектов в Убунту…не помню как пакет называется, но штука зрелищная — 3D-кубик рабочего стола, эффект сгорания и т.д. На работе посавил — админ чуть не съел — пришлось сносить. В винде ещё наверно лет 10 такого не сделают:)

  • Vlad пишет:

    Виста — фуфло ещё то)) KDE у соседа стоит надо глянуть чего там

  • Scandium пишет:

    Да на счёт того, что это фуфло, я с тобой полностб согласен. Я наверно потратил месяца два чтобы привести её в более менее рабочий вариант. Все как сговорились часть ПО, которое прекрасно работало на XP или не работает вообще, или нужно с бубном походить чтобы оно заработало! А некоторые производители вообще обнаглели выпускают драва для нового оборудования чисто для висты.
    Чисто мне KDE не нравиться…оно конечно красиво, но не всё там удобно…да и 4.2 версия вообще жрёт ресурсов похлеще чем виста, а вот 4.3 они учли это и сделали намного шустрее…без урезки функционала и графы. Так что я фанат XFCE)

  • Краснодарцев пишет:

    Класс! Афтару респект!

  • Hyundai пишет:

    класс)мне понра)особенно!

  • SeregaAltmer пишет:

    Установил, пользуюсь. И думаю, буду еще пользоваться достаточно долго. Спасибо.
    И все-же хочется слегка доработанную, еще более человеко-удобную и полезную версию))
    1.Не плохо было-бы привязать быстрые клавиши на сворачивание/разворачивание, добавление/удаление.
    2.Отдельный таймер для каждой задачи (прямо в списке задач), без утраты общего таймера конечно, в нем вся соль :).
    3.У блога есть свой собственный Пульс. Имхо аналогичный Пульс в хронометре, приумножил бы его эффективность.
    4.Работу «Без вопросов» ), лучше вынести галкой в настройки, печально будет очистить список из десятка задач, случайно промахнувшись мимо кнопки [В список], попав на «Создать новый».
    5.Исправить ошибочку, в контекстном меню трэйиконки, — пункт «Добавить задание», добавляет его в любом случае даже при нажатии [Alt+F4] ))

  • Vlad пишет:

    Сразу видно отзыв программиста :)) Ну что ж, раз есть пожелания по развитию — значит будем писать новую версию.
    По поводу отдельного таймера…на самом деле при завершении задачи рядом с ней высвечивается время выполнения. Но суть и цель пожелания мне вполне понятна, поэтому доработать, думаю, особого труда не составит :)

  • Scandium пишет:

    ЭЭэ…у меня тое есть пожелания:

    Неплохо было бы добавить всплывающее окошко, при наведении на трай-иконку, в которой показывался список пользовательских задач.
    Если будет добавлен таймер на каждую задачу (мне тоже нравиться эта идея), то можнобыло бы в всплывающем окне кроме задач (см. п 1) показывать ещё текущее состояние таймера для каждой задачи.
    В будущем (пока катострофически сказывается недостаток времени), если конечно автор решить выложить исходники, могу попробовать портировать кода на другие платформы (в частности на Gentoo собственной сборки-:D)

  • scandium пишет:

    Ещё можно было бы добавить возможность автозагрузки с чтением/записью задач. Хорошо бывает настрочил себе задач и не успел сделать всё с утреца поднялся врубил комп, смотришь…ага а задачки то ещё не все выполнены.
    Кстати у меня появилась ещё одна идея. Это конечно уже какой-то загон, да и реализовать это довольно сложно, но всё-таки озвучу. Идея вот в чём: у каждой задачи можно указать какие приложения нужны для её выполнения и контролить чтобы были открыты именно окна требуемых прог (по процессам нереально контролить их сама ОС порождает кучу). Естественно в процессе работы могут понадобиться и другие приложения  (например, кто-то написал по асе стандартное приветсвие, и вам нужно овтетить что вы заняты ), поэтому просто врубать дополнительный таймер и через определённое время показывать в модальном режиме окно со звуковым сопровождением, что мол типо харе фигнё страдать -:)
    Ну вобщем как-то так.

  • Vlad пишет:

    Scandium, принято :) Сейчас один компонентик допишу и возьмусь за Хронометр. Исходники не секретны, думаю, что выложу их вместе с обновленной версией. Может даже в посте чиркану мало-мальскую спецификацию, чтоб если что по-понятнее было что, где и как происходит

  • scandium пишет:

    Ну естественно поделюсь -:) А ты левые компоненты используешь в нём? или тока стандарт+самописные?

  • SeregaAltmer пишет:

    Найдена ошибочка:
    После удаления всех невыполненных задач, при наличии выполненных таймер продолжает тикать.

  • Vlad пишет:

    Серега, ты как всегда радуешь меня своими комментами)) Серьезно. Наконец-то полезли баги наружу, а то я уж думал «всё! трындец! Написал прогу и без багов» :) Исправлю.
    З.Ы. Все пожелания и замечания аккуратненько записываю…на выходных начну ваять Хронометр №2.

  • Vlad пишет:

    Автозагруз — без проблем, а вот по поводу последнего новшества, по-моему лишнее…все-таки Хронометр не бабайка виртуальная, чтоб пользователя пугать :) Да и цель тогда теряется — не настойчивое воздействие на пользователя.

  • scandium пишет:

    Ну это я высказал идею вслух)
    Кстати, так а что на счёт портации на unix? Дашь потом исходники? Мне тут прото описали методику портирования давольно неплохую и практически без гемора!

  • Vlad пишет:

    Да я вроде как исходники сильно не жму :) Выложу, мож кто-нибудь чего-нибудь поправит, исправит. Только чур поделишься портированной версией — засвечу на работе потом

  • Vlad пишет:

    Только стандартный VCL. Но т.к. пишу подD2009-2010 то с портированием могут быть траблы.

  • Scandium пишет:

    Ну если чисто vcl, то траблы будут, но не большие…но это в теории…ну вот и посмотрю насколько возможна поратация.