Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2007, 12:49   #1
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
Плохо DateTimePicker Delphi

вот код
Чтото вроде будильника...
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if datetimepicker1.Time = time then showmessage('Совпадает');
end;
Почему не работает ? интервал у таймера 500 мс, datetimepicker1.kind=dtkTime . время на datetimepicker1 выставляю на полминуты больше чем текущее когда они совпадают ночего не происходит..
---

Последний раз редактировалось GAGARIN-NEW; 27.11.2007 в 13:31.
GAGARIN-NEW вне форума Ответить с цитированием
Старый 03.12.2007, 13:13   #2
Павлик
Пользователь
 
Регистрация: 03.12.2007
Сообщений: 12
По умолчанию

Цитата:
Сообщение от GAGARIN-NEW Посмотреть сообщение
вот код
Чтото вроде будильника...
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if datetimepicker1.Time = time then showmessage('Совпадает');
end;
Почему не работает ? интервал у таймера 500 мс, datetimepicker1.kind=dtkTime . время на datetimepicker1 выставляю на полминуты больше чем текущее когда они совпадают ночего не происходит..
time я так понимаю типа TDateTime? тобиш Double, из приведенного кода сложно поянть чего ты хочешь, попробуй так
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if datetimepicker1.Time >= time then showmessage('Совпадает');
end;
no comments
Павлик вне форума Ответить с цитированием
Старый 03.12.2007, 15:01   #3
Cantana
форвард
Форумчанин
 
Аватар для Cantana
 
Регистрация: 03.08.2007
Сообщений: 130
По умолчанию

time разве не системная время ?
dela ne v dengax a v yego kolichestve
Cantana вне форума Ответить с цитированием
Старый 03.12.2007, 15:27   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Если уж совсем неполучается то можно пойти боком:

Код:
procedure TForm1.Timer1Timer(Sender: TObject);
var a,b:string;
begin
 a:=TimeToStr(DateTimePicker1.Time);
 b:=TimeToStr(Time);

 caption:=a+' '+b;
 if a=b then ShowMessage('');
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.12.2007, 16:57   #5
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

таймер не точно работает вапще-то и в Time записываеца кажеца с долями секунд, так что я сомневаюсь что большой шанс совпадения времени есть. Так что или >= или еще как проверять надо
pu4koff вне форума Ответить с цитированием
Старый 05.12.2007, 23:51   #6
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
По умолчанию

Люди ведь и текущий time и time в datetimepicker переменные одного и тогоже типа !
2 Stilet Сэнкс но это я и сам делал только вот это меня и возмутило!!!
Showmessage('!'+TimeToStr(Time)+'!' );показывает чтото вроде !12:53:03!
восклицательные знаки я поставил чтобы проверить может быть есть ещё какието знаки до или после самого времени...
но как выяснилось нету вроде.. так почемуже несовпадает ? а нужно тупо переводить в стринг и потом сравнивать ???
---
GAGARIN-NEW вне форума Ответить с цитированием
Старый 06.12.2007, 00:08   #7
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

в TDateTime для времени хранятся: час, минута, секунда, миллисекунда. Замени TimeToStr на FormatDateTime('h:n:s:z',сюда время пихаешь) и афигей, что у тебя миллисекунды не совпадают просто, соответственно у тебя сообщение и не вылазит. а функцией TimeToStr ты просто милисекунды не учитываешь, а сравнение идет уже как сравнение строк
pu4koff вне форума Ответить с цитированием
Старый 06.12.2007, 15:23   #8
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
в TDateTime для времени хранятся: час, минута, секунда, миллисекунда. Замени TimeToStr на FormatDateTime('h:n:s:z',сюда время пихаешь) и афигей, что у тебя миллисекунды не совпадают просто, соответственно у тебя сообщение и не вылазит. а функцией TimeToStr ты просто милисекунды не учитываешь, а сравнение идет уже как сравнение строк
На счёт сравнения строк я знаю !
Но вот почемуже милисекунды при TimeToStr не учитываются ??? минуты значит нам нада секунды тоже часы ... а милисекунды что ? вот разработчики канечно потрудились на славу ...

Придётся теперь всё переводить в строчки ...
---
GAGARIN-NEW вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DateTimePicker и SQL запрос SlavyanD БД в Delphi 5 25.11.2011 10:10
DateTimePicker в DBGrid Alex_76 Помощь студентам 4 20.06.2008 15:21
DateTimePicker и API Андрей= Win Api 5 22.04.2008 15:21
Вопросы DateTimePicker Askat БД в Delphi 14 29.06.2007 18:53
DateTimePicker + Label krem Компоненты Delphi 2 10.05.2007 16:36