Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблеммы со сравнением типа Ttime

1.8K
02 декабря 2007 года
kvadro
35 / / 17.06.2005
Доброго времени суток.
У меня возникла проблема.
Мне необходимо узнать пересекаются ли временные отрезки в одном дне или нет.
Т.е. у меня нет даты, есть только два отрезка времени
Для примера
С 11 - 14
И
С 10 – 15.
Ну вот, пытаюсь в делфе банально проверить абсурдное (по моему мнению) условие, что 10 часов > 11 часов, и это условие срабатывает! Как такое могло получится не пойму.
Есть скромное предположение, что это из-за разношерстности сравниваемых типов, т.к. я первый временной промежуток беру с аксеса а второй с дататаймпикеров с кайндом Time,
но я, как бы, постарался привести их к единому TTime, и вот, ничего у меня не получилось, какой-то бред(
А в аксесе поле типа ДатаВремя и формат поля Длинный формат времени.

Вот отрывки написанного:
var
a1,b1,c1,d1:TTime;

a1:=ard.Q_F_D_A.FieldByName('Время_занятий_н').AsDateTime; //в примере 11 часов
b1:=ard.Q_F_D_A.FieldByName('Время_занятий_к').AsDateTime;
c1:=ard.DateTimePicker3.Time; // примере 10 часов
d1:=ard.DateTimePicker4.Time;
if c1>a1 then
ard.Label5.Caption:=TimeToStr(c1)+'>'+TimeToStr(a1);

Кто с этим сталкивался - помогите плиз, голова уже кругом идёт(
303
03 декабря 2007 года
makbeth
1.0K / / 25.11.2004
В лоб сравнивать два значения времени не совсем корректно. В модуле DateUtils для этого есть специальные функции: CompareDate, CompareTime, CompareDateTime. Как раз их и нужно использовать в подобных случаях.
1.8K
03 декабря 2007 года
kvadro
35 / / 17.06.2005
Спасибо огромное, пашет как часы)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог