![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TDateTimePicker - ввод максимальной даты с клавиатуры [D7, WinXP]
Омлет © (2010-06-09 15:30:00)Есть DateTimePicker в режиме dtkDate.
MinDate = 01.01.2000
MaxDate= 31.12.2000
Пытаюсь с клавиатуры ввести 31.12.2000- число или месяц сбрасываются на 1. Т.е. когда введено 31.11.2000, попытка заменить 11 на 12 приводит к 01.
Выбрать же дату 31.12.2000с помощью мышки можно. Причем, после того, как выбираю дату мышкой, с клавиатуры её уже можно ввести, а до этого - никак.
Германн (2010-06-10 02:31:00) [1]
> Омлет © (09.06.10 18:09) [4]
>
> Это я должен пользователям объяснить? ))
>
>
Если тебе не лень, то можешь попытаться.
Но для ввода дат в Дельфи лучше использовать календарь. TMonthCalendar.
Или вернись назад к RxLib.
Leonid Troyanovsky (2010-06-09 21:03:00) [2]
> Омлет © (09.06.10 18:09) [4]
В оном компоненете, IMHO, немало всяких бажков,
как со стороны MS, так и других участников.
В любом случае, оный компонент не очень приспособлен для,
скажем, эргономического ввода.
Когда в последний раз анализировал его построение, подумал,
что лучше, все же, три поля: год, месяц, день (в сочетаниях комбо,
спинэдит & etc), бо, обычно не все меняется разом.
--
Regards, LVT.
Омлет (2010-06-09 18:09:00) [3]Это я должен пользователям объяснить? ))
> т.е. вводи в обратном порядке.
Ни так, ни эдак не работает.
> вставкой например
Это как?
> чтобы не было промежуточного 1-го месяца.
Так в январе 31 день, т.е. никаких проблем с этим.
И заметь:
> Причем, после того, как выбираю дату мышкой, с клавиатуры её уже можно ввести, а до этого - никак.
sniknik (2010-06-09 16:48:00) [4]число проверяется по месяцу (введя тот который не имеет 31го дня получаеш "сброс")... т.е. вводи в обратном порядке.
или вводи сразу целое число (вставкой например) месяца, чтобы не было промежуточного 1-го месяца.
Омлет (2010-06-09 15:57:00) [5]> Т.е. когда введено 31.11.2000, попытка заменить 11 на 12 приводит к 01.
когда введено 31.10.2000, попытка заменить 10 на 12 приводит к 10.
Омлет (2010-06-09 15:30:00) [6]Вопрос - где ошибка и как её исправить?