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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.08.2013, 12:08   #1
TUberwer
Форумчанин
 
Регистрация: 01.07.2013
Сообщений: 221
По умолчанию Как сделать проверку на время

Вообщем у меня есть 2 datetimepicker, кнопка, и label.
При нажатии на кнопку идет проверка, если системное время в промежутке между двумя datetimepicker, то на label.caption := 'yes'

но если системное время не в промежутке этом, то в label записывается no.
Вот код, но он не работает, просто ничего не происходит после нажатия

Код:
procedure TForm1.Button7Click(Sender: TObject);
VAR
 today : TDateTime;
begin
today := Time;
if(today >= datetimepicker1.Time) and (today <= datetimepicker2.Time) then
begin
label2.Caption := 'yes';
end
else
begin
label2.Caption := 'no';
end;
end;
точнее постоянно no выводит

Последний раз редактировалось TUberwer; 24.08.2013 в 12:15.
TUberwer вне форума Ответить с цитированием
Старый 24.08.2013, 12:36   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Time возвращает текущее время без даты, а datetimepicker.Time текущую дату с временем, даже если Kind=dtkTime. Поэтому и no всегда
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.08.2013, 12:48   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Код:
today := Time;
showMessage( FormatDateTime('hh:mm:ss:zzz', today)
 +#13#10 +FormatDateTime('hh:nn:ss:zzz', datetimepicker1.Time)
 +#13#10 +FormatDateTime('hh:nn:ss:zzz', datetimepicker2.Time) );
Цитата:
Date-Time Format Strings

h Displays the hour without a leading zero (0-23).
hh Displays the hour with a leading zero (00-23).
n Displays the minute without a leading zero (0-59).
nn Displays the minute with a leading zero (00-59).
s Displays the second without a leading zero (0-59).
ss Displays the second with a leading zero (00-59).
z Displays the millisecond without a leading zero (0-999).
zzz Displays the millisecond with a leading zero (000-999).
t Displays the time using the format given by the ShortTimeFormat global variable.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 24.08.2013, 12:59   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Еще можно Frac использовать для выдергивания только времени

Код:
if (today >= Frac(datetimepicker1.Time)) and (today <= Frac(datetimepicker2.Time)) then
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.08.2013, 14:57   #5
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

А можно вместо Time() использовать Now()
phomm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать проверку на воспрозиведение TUberwer Общие вопросы Delphi 10 12.08.2013 10:55
Как сделать проверку на наличие файла в VB? Gyfmod Общие вопросы .NET 1 15.08.2012 19:06
Как сделать проверку ? HmTH Общие вопросы Delphi 42 20.10.2010 18:42
как можно сделать проверку? KARUSHEV Помощь студентам 10 13.10.2009 15:15
Как сделать проверку строк в memo Neset Общие вопросы Delphi 2 26.02.2009 12:25