IPB
ЛогинПароль:

> 

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Простые часы
сообщение
Сообщение #1


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Решил сделать часы на паскале, никогда не делал, ну не знаю просто захотелось) вот только мне кажется в одном месте я прощитался, решив использовать задержку, наверняка ведь на многих машинах Delay(1000) не будет = 1с.

Ну как бы то нибыло вот что получилось, щас сделаю версию уже с "ручной" проверкой, надо ли перерисовывать стрелки.

Прикрепленное изображение


Прикрепленные файлы
Прикрепленный файл  clock_beta1.pas ( 4.14 килобайт ) Кол-во скачиваний: 506


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Вот небольшой набросок тех же самых часов, написанных на почти чистом WinAPI (почти - потому, что все-же используются модули SysUtils + DateUtils)...

Прикрепленный файл  clocks.pas ( 7.63 килобайт ) Кол-во скачиваний: 1007


Можно запускать несколько копий приложения, при изменении размера окна часы также меняют размер...

Надо только добавить несколько функций:
1) запрет дальнейшего уменьшения по достижении какого-то размера, чтобы часы не были слишком маленькими;
2) вывод цифр можно поправить, чтобы во-первых, не выводилось 0 .. 11, а выводилось 1 .. 12, да и сами координаты выводимого текста (а, возможно, и шрифт) мне кажется, надо доработать...
3) ну, в принципе, добавлять можно еще много, только тогда это уже будут не совсем простые часы smile.gif

Если есть желание, давайте доработаем проект... Выбирайте, или это будет работа с API (но без ООП), или через Graph (но ООП), и так и так можно сделать довольно интересное приложение... yes2.gif

P.S. Не стал исправлять программу, но заметил, что в ней не освобождается контекст устройства после обработки WM_TIMER... Естественно, поскольку это событие происходит ежесекундно, а контекст создается, и не освобождается - программа начинает "поедать" память. Перед выходом из блока If draw Then ... в обработчике WM_TIMER добавить ReleaseDC(Window, DC);


Эскизы прикрепленных изображений
Прикрепленное изображение
 К началу страницы 
+ Ответить 

Сообщений в этой теме
klem4   Простые часы   4.02.2007 22:02
volvo   Андрей, а слабО переписать это под Windows, и испо…   4.02.2007 22:20
volvo   Вот небольшой набросок тех же самых часов, написан…   5.02.2007 16:28
Bokul   У меня есть. :) Я за API, только почему без ООП…   6.02.2007 4:17
volvo   Потому, что идеология работы с WinAPI подразумевае…   6.02.2007 4:28
Archon   Очень интересно! Надеюсь тема не заглохнет. P…   6.02.2007 5:18
Bokul   Ну да, там все просто. "Пропускает…   6.02.2007 5:30
volvo   :yes2: Именно не обрабатывает... Просто не реагир…   6.02.2007 5:45
Bokul   Ну это понятно. Интересует как и куда ты планир…   6.02.2007 6:21
volvo   Интересует как и куда ты планируешь выводить часы …   6.02.2007 6:30
Bokul   Ну чтобы так просто, я не вижу, не знаю способа…   6.02.2007 6:39
volvo   :blink: :blink: Bokul, выдыхай... И больше эту тр…   6.02.2007 6:42
Bokul   English version please.. :)   6.02.2007 6:45
volvo   SetWindowRgn "Is that better?" © …   6.02.2007 6:47
Altair   Хочу такие часы на рабочий стол себе. Что бы прямо…   6.02.2007 14:00


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.04.2024 21:21
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name