|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.01.2009, 15:04 | #1 |
Регистрация: 13.01.2009
Сообщений: 7
|
DateTimePicker в будильнике
Вобщем недавно начал работать в Делфи, вот возник вопрос в написании будильника...
Для ввода юзером времени срабатывания сигнала, был выбран компонент DateTimePicker... Все таки через Edit делать было как то несерьезно) Вот код расчета срабатывания звонка: Код:
Код:
Вопрос, их привести к одному виду данных или же есть еще более удобный и эффективный способ? |
13.01.2009, 15:49 | #2 |
Пользователь
Регистрация: 09.01.2009
Сообщений: 65
|
DateTimePicker1.Time тут тип TTime, а у st - sustemtime, потому ошибка и выскакивает, вместо st можно использовать Now() и все будет работать
|
13.01.2009, 17:26 | #3 |
Регистрация: 13.01.2009
Сообщений: 7
|
Вобщем заюзал я вместо sustemtime функцию now(), все отлично - компилятор не ругается, стал использовать эту функцию для вывода на экран проги текущего времени, тоже все работает...
Вот только будильник перестал реагировать на совпадения установленного времени и текущего..( До этого при помощи susutemtime и полей ввода Edit все работало отлично... Код:
|
13.01.2009, 18:34 | #4 |
Пользователь
Регистрация: 09.01.2009
Сообщений: 65
|
@Вот только будильник перестал реагировать на совпадения установленного времени и текущего..(@
А частота таймера какая? При таком сравнении должна быть посекундная или меньше... Возможно просто пропускает момент, когда сравнить надо... Попробуйте +-лапоть... |
13.01.2009, 19:27 | #5 |
Регистрация: 13.01.2009
Сообщений: 7
|
Интервал всмысле? стоял 1000 (1 секунда как я понимаю)
менял на 100, 10.. все равно... ради интереса вместо DateTimePicker, поставил обратно edit1 и edit2 и запуситил прогу. все работает норм... только добавил строку Код:
После проверил, может из-за этого и неработает включения сигнала.. однако непомогло... Вот слегка изменненый код (в коментарии неработающий вариант) и Edit1 и Edit2 в качастве полей для ввода часов\минут и st:sustemtime вместо now() Код:
|
13.01.2009, 19:54 | #6 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Код:
Интервал таймера - 1 секунда. |
13.01.2009, 20:51 | #7 |
Пользователь
Регистрация: 09.01.2009
Сообщений: 65
|
if (ST.Whour=StrToInt(Edit1.Text))and (ST.WMinute=StrToInt(Edit2.Text)) then
Вот про это я и говорил, проверка до секунди осуществяется при сравнении с Now, а вы это заменили проверкой до минуты... |
13.01.2009, 21:12 | #8 |
Старожил
Регистрация: 06.08.2007
Сообщений: 2,183
|
Чем это не нравится?
Код:
|
13.01.2009, 21:18 | #9 | |
Пользователь
Регистрация: 09.01.2009
Сообщений: 65
|
Цитата:
Можно вместо if >= и <= испозовать secondsBeetwen(время1,время2)<2 Последний раз редактировалось Google[Bot]; 13.01.2009 в 21:26. |
|
13.01.2009, 22:44 | #10 | |
Старожил
Регистрация: 06.08.2007
Сообщений: 2,183
|
Цитата:
Я же как пример привёл проверку. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
DateTimePicker в DBGrid | Alex_76 | Помощь студентам | 4 | 20.06.2008 15:21 |
DateTimePicker и API | Андрей= | Win Api | 5 | 22.04.2008 15:21 |
DateTimePicker Delphi | GAGARIN-NEW | Помощь студентам | 7 | 06.12.2007 15:23 |
Вопросы DateTimePicker | Askat | БД в Delphi | 14 | 29.06.2007 18:53 |
DateTimePicker + Label | krem | Компоненты Delphi | 2 | 10.05.2007 16:36 |