![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
нужно чтобы дата в DateTimePicker2 не была равной дате в DateTimePicker1 или меньше даты в DateTimePicker1.
Пишу следующее Код:
if DateTimePicker2.Date<=DateTimePicker1.Date then
begin
Showmessage('Дата окончания введена неверно!');
Exit;
end;Что не так? 34.jpg |
|
#2
|
||||
|
||||
|
Есть подозрение, что в свойстве Date у пикера ещё и время. Попробуй поставить одинаковые даты, но выбрать сначала дату окончания, а потом дату начала. Если даст ошибку - значит моя догадка верна.
Или поступи проще - пройдись отладчиком по строчкам и посмотри значения. |
|
#3
|
|||
|
|||
|
когда ввожу сначала дату окончания, а потом дату начала, то проглатывает даже если дата окончания < даты начала и если равны тоже
![]() |
|
#4
|
||||
|
||||
|
Хм... обидно то, что у меня сейчас Delphi под рукой нет, только Lazarus... Ну, как мой друг говорит, "обидно, досадно, но ладно...." - сливай исходник куда-нибудь (предварительно почистив лишнее), желательно в zip, и я буду "ставить диагноз по фотографии".
|
|
#5
|
|||
|
|||
|
много чистить прийдётся, там куча всякого ещё.. лучше так мысли вслух подскажите, как можно поменять условие, сразу проверю
|
|
#6
|
||||
|
||||
|
Феникс прав в своем предположении. В свое время тоже на эти грабли наступил. Несмотря на то что Date типа TDate, время там все равно присутствует. Т.к. в дробную часть записывается время, а оно вам как-раз не нужнео можно сделать так:
Код:
if Round(DateTimePicker2.Date)<=Round(DateTimePicker1.Date) then
begin
Showmessage('Дата окончания введена неверно!');
Exit;
end; |
|
#7
|
|||
|
|||
|
с Round всё заработало. Спасибо огромное, товарищи!
![]() |