powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / 31.01.2006 10:00:00 < 31.01.2006 10:00:00 ???
6 сообщений из 6, страница 1 из 1
31.01.2006 10:00:00 < 31.01.2006 10:00:00 ???
    #33514223
SCORPION Z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть два компонента TDateTimePicker. Дата во втором не может быть меньше чем в первом. В DateTimePicker1Change пишу
Код: plaintext
DateTimePicker2->MinDate = DateTimePicker1->Date; 
При попытке выбрать в DateTimePicker2 такую же дату, как в DateTimePicker1
получаю ошибку "Date is less than minimum of ...".
Вывожу на экран DateTimePicker2->Date и DateTimePicker2->MinDate:
31.01.2006 10:00:00
31.01.2006 10:00:00
Да как же одно меньше другого? Затем опрашиваю
Код: plaintext
if (DateTimePicker2->DateTime < DateTimePicker2t->MinDate) ...
а оно мне "ДА МЕНЬШЕ". Да а как это?
...
Рейтинг: 0 / 0
31.01.2006 10:00:00 < 31.01.2006 10:00:00 ???
    #33514305
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверяй еще и миллисекунды.
Виндовый DateTimePicker работает со структурой SYSTEMTIME, которая имеет поля и для миллисекунд и для дня недели.
В общем, вариантов два:
Либо где-то в недрах VCL во время конвертации из SYSTEMTIME в TDateTime происходит ошибка.
Либо DateTimePicker забывает обнулять миллисекунды.
...
Рейтинг: 0 / 0
31.01.2006 10:00:00 < 31.01.2006 10:00:00 ???
    #33514306
SCORPION Z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Странное дело, но даже если компонент всего один и мы ему ставим MinDate,
то при попытке выбрать эту дату получим error "Date is less than minimum of ...". Хотя MinDate - это нижний включаемый предел!
...
Рейтинг: 0 / 0
31.01.2006 10:00:00 < 31.01.2006 10:00:00 ???
    #33514313
SCORPION Z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White OwlПроверяй еще и миллисекунды.
Виндовый DateTimePicker работает со структурой SYSTEMTIME, которая имеет поля и для миллисекунд и для дня недели.
В общем, вариантов два:
Либо где-то в недрах VCL во время конвертации из SYSTEMTIME в TDateTime происходит ошибка.
Либо DateTimePicker забывает обнулять миллисекунды.
А я вообще работаю только с dtkDate и время не трогаю. Но при сравнении было интересно вывести и время...
...
Рейтинг: 0 / 0
31.01.2006 10:00:00 < 31.01.2006 10:00:00 ???
    #33514867
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Действительно, какой-то глюк. В момент выбора Date:
Код: plaintext
1.
MinDate=01.02.2006 08:53:45.343
   Date=01.02.2006 08:53:47.531
и несмотря на то, что дата больше мин. даты, выдается эксепшн ....

Может руками проверять, не использовать свойство MinDate ?

PS: поставил BrakePoint на присвоении MinDate, посмотрел отладчиком, чего там происходит ... муть какая-то с округлениями ... наверное там ошибка сидит ...
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
31.01.2006 10:00:00 < 31.01.2006 10:00:00 ???
    #33519504
SCORPION Z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тото и оно
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / 31.01.2006 10:00:00 < 31.01.2006 10:00:00 ???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]