![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вывести пустой TDateTimePicker
С-К © (2014-08-08 17:44:00)То есть, чтобы DateTimePicker отображал пустые места, типа « . . »
Можно, конечно, dtp.Format := ''''''; - а потом при выборе значения из календарика подставлять dtp.Format := '';
но в таком случае в первоначально пустом виде нельзя сразу ручками вбить дату цифрами.
Если присвоить dtp.Date := 0, то, конечно, просто выставится 1899 год.
А нужно, чтобы DateTimePicker изначально был пустым и это можно было определить. Если так и не заполнили - то в БД писать nil.
Rouse_ (2014-08-11 10:23:00) [61]
> ты принципиально не прав
Ну что ж - каждому свое, однако я бы сделал это совершенно по другому.
С-К (2014-08-11 09:25:00) [62]
> Переменные целого или вещественного типа пустыми быть не
> могут в принципе
переменные - да, но причем здесь это? Я говорю про интерфейс пользователя, когда контрол по умолчанию должен быть пустым, например.
> Как должна программа реагировать на "пустое" поле ТDateTimePicker?
записать в соответствующее поле БД null
sniknik (2014-08-11 08:23:00) [63]> Пустыми могут быть строки или массивы.
это с точки зрения программирования, а по нуждам заказчиков (/пониманию пользователя) при начале ввода анкеты например в "год рождения" должно быть пусто... ведь он туда ничего еще не ввел.
ситуация часто встречающаяся (у меня точно).
Германн (2014-08-11 01:58:00) [64]
> С-К (10.08.14 21:11) [5]
> ты принципиально не прав.
Ты тоже. Причём гораздо более.
Пустыми могут быть строки или массивы. Переменные целого или вещественного типа пустыми быть не могут в принципе. (Практику использования NULL в БД не рассматриваю). Как должна программа реагировать на "пустое" поле ТDateTimePicker?
С-К (2014-08-10 21:11:00) [65]
> А не проще ли, если 1899 , то писать nil
проще, только вопрос был не о том
> Что ты хочешь от контрола, который изначально должен отображать
> не цифры, а время и дату?
ты принципиально не прав. TDateTimePicker предназначен не для отображения даты, а для ВВОДА даты. И легко можно себе представить ситуацию, когда он должен быть изначально "пустой". То есть, даты просто нету. Пользователь может ввести дату, а может её принципиально не ввести.
ВладОшин (2014-08-10 10:39:00) [66]combobox на ондропдаун исчезает, показывается календарь
Германн (2014-08-09 02:45:00) [67]
> А нужно, чтобы DateTimePicker изначально был пустым и это
> можно было определить. Если так и не заполнили - то в БД
> писать nil.
>
TDateEdit от RxLib (JVCL) возможно позволяет определить введена ли какая-нибудь дата или нет. Это если не хочешь писать свой компонент.
Rouse_ (2014-08-08 21:32:00) [68]
> А нужно, чтобы DateTimePicker изначально был пустым и это
> можно было определить.
Возьми к примеру наручные часы - могут ли они отображать ноль?
Не могут, возьми настенный календарь - тоже не может.
Что ты хочешь от контрола, который изначально должен отображать не цифры, а время и дату?
А не проще ли ... (2014-08-08 18:26:00) [69]А не проще ли, если 1899 , то писать nil
чего тут городить ...