| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Проверить дату |
| Автор: Михалыч 24.1.2010, 18:05 |
| Подскажите,нужно при нажатии на кнопку проверять введенную дату и сравнивать с настоящей,если меньше,то ошибка. Но тут не все так просто,у меня на форме три Spinedit, в первый ввожу год,во второй месяц и в третий число.Далее нужно проверить с сегоднешним.Делаю так: трем переменным присваиваю sSpinEdit4.Value, далее перевожу в строку, делаю еще одну переменную и ей присваиваю вот такой формат: 24.01.2010 А вот как по условию проверить все это? Еще хотел сделать через DecodeDate , но так можно проверить только год, если он меньше чем сегодня,то ошибка. А как проверять месяц и число? |
| Автор: Данкинг 24.1.2010, 18:24 | ||
Если я правильно понял, то как-то так:
|
| Автор: amsoft 24.1.2010, 18:47 | ||
|
| Автор: Михалыч 24.1.2010, 18:50 |
| Извеняюсь за неполную информацию(уже крыша едет) , дело в том что набирать нужно обязательно во всех трех Spinedit, но набирать можно не только сегоднешнюю дату а и каторая будет через месяц , например 07.02.2010 . Вот в чем вопрос,как определить что дата 07.02.2010 ,больше чем 24.01.2010 Если сравнивать только месяца: 02 больше чем 01 , то как быть с годом, вообщем ни как условие проверки не придумаю Добавлено через 14 минут и 17 секунд Не успел договорить,уже тему в другое место скинули |
| Автор: amsoft 24.1.2010, 19:05 |
| Михалыч, чем не устраивает мой вариант |
| Автор: Михалыч 24.1.2010, 19:43 |
| Вы просто сравниваете введенную дату с настоящей,если сегодняшняя дата больше введенной ,то ошибка. А если сегодня 24.01.2010 а я введу 01.02.2010 то ваш код посчитает это как прошедшее |
| Автор: Михалыч 24.1.2010, 20:06 |
| Всем спасибо,вопрос решен! Если кому надо то путем function FormatDateTime Спасибо Демо за правильное направление |
| Автор: Данкинг 24.1.2010, 20:06 | ||
Почему это? |
| Автор: kami 24.1.2010, 21:15 |
Глупости, уж извините за откровенность. Лучший код для решения этой задачи привел amsoft. Михалыч - прежде чем говорить "неправильно", неплохо было бы проверить. |
| Автор: xfoby 27.1.2010, 08:58 |
| А ещё неплохо иногда использовать не SpinEdit'ы, а DateTimePicker, как положено... |