![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 25.12.2007
Сообщений: 661
|
![]()
Подскажите,нужно при нажатии на кнопку проверять введенную дату и сравнивать с настоящей,если меньше,то ошибка.
Но тут не все так просто,у меня на форме три Spinedit, в первый ввожу год,во второй месяц и в третий число.Далее нужно проверить с сегоднешним.Делаю так: трем переменным присваиваю sSpinEdit4.Value, далее перевожу в строку, делаю еще одну переменную и ей присваиваю вот такой формат: 24.01.2010 А вот как по условию проверить все это? Еще хотел сделать через DecodeDate , но так можно проверить только год, если он меньше чем сегодня,то ошибка. А как проверять месяц и число? Извеняюсь за неполную информацию(уже крыша едет) , дело в том что набирать нужно обязательно во всех трех Spinedit, но набирать можно не только сегоднешнюю дату а и каторая будет через месяц , например 07.02.2010 . Вот в чем вопрос,как определить что дата 07.02.2010 ,больше чем 24.01.2010 Если сравнивать только месяца: 02 больше чем 01 , то как быть с годом, вообщем ни как условие проверки не придумаю
За частые поиски был забанен во всех известных
поисковых системах! Последний раз редактировалось Михаил Юрьевич; 24.01.2010 в 18:51. Причина: дополнение |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 04.04.2009
Сообщений: 438
|
![]()
Перевести строку в дату (StrToDate(str)) и просто сравнить:
if DT < Date then <ошибка> Тип TDateTime во внутреннем представлении просто число (чем больше число, тем более поздняя дата), а числа использовать в условиях сравнения не возбраняется. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 14.09.2008
Сообщений: 172
|
![]()
НУ сравнить равность сегодняшней и введенной не тяжело
Код:
Код:
![]()
Шипулин А. В.
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 14.09.2008
Сообщений: 172
|
![]()
А еще можно так сравнить слить дату, то есть сделать ее без точек, как то так (ситация со спин эдитами):
Код:
![]()
Шипулин А. В.
|
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 25.12.2007
Сообщений: 661
|
![]() Цитата:
а ввели : 31.06.2009 Где больше,где меньше 31062009 и 24012010
За частые поиски был забанен во всех известных
поисковых системах! |
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 14.09.2008
Сообщений: 172
|
![]()
Во первых куда ввели? Продолждаю по спинам.
Код:
Шипулин А. В.
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 25.12.2007
Сообщений: 661
|
![]()
Извеняюсь,сразу не заметил что Вы воспользовались FormatDateTime и перевернули дату ,спасибо!
+
За частые поиски был забанен во всех известных
поисковых системах! |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
А вообще правильный ответ дан в пост #2 Скандербег
Шульц, ага. так тоже можно. но зачем эти фокусы, когда даты банально можно сравнивать?! Последний раз редактировалось Serge_Bliznykov; 24.01.2010 в 20:16. |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 04.04.2009
Сообщений: 438
|
![]()
Для большей ясности (может Михаил Юрьевич не обратил внимания):
Код:
|
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 14.09.2008
Сообщений: 172
|
![]()
Я просто предложил альтернативу
![]() ![]()
Шипулин А. В.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Формат даты. | agregator | Microsoft Office Excel | 3 | 21.01.2011 14:55 |
Проверка даты. Firebird | artemavd | БД в Delphi | 10 | 18.10.2009 20:14 |
Даты | Sparky | БД в Delphi | 6 | 02.10.2009 09:48 |
ограничение даты | Alexi | Компоненты Delphi | 4 | 21.04.2009 13:09 |
Даты не даты | Nasya | Microsoft Office Excel | 3 | 22.08.2007 20:18 |