Текущий архив: 2005.12.18;
Скачать: CL | DM;
ВнизКак получить текст из TDateTimePicker ( но не через DateTime!!) Найти похожие ветки
← →
GenieTM (2005-11-21 11:16) [0]Нужно получить текст из TDateTimePicker в любой момент редактирования. Т.е. даже тогда, когда число, месяц или год введены не полностью (н-р 01.01.__20), а находятся в процессе изменения.
Использование свойства Date и DateTime исключено, т.к. эти свойства изменяются только после введения данных полностью.
← →
Leonid Troyanovsky © (2005-11-21 11:26) [1]
> GenieTM (21.11.05 11:16)
> Нужно получить текст из TDateTimePicker в любой момент редактирования.
> Т.е. даже тогда, когда число, месяц или год введены не
> полностью (н-р 01.01.__20), а находятся в процессе изменения.
OnUserInput?
--
Regards, LVT.
← →
EvgeniyR (2005-11-21 11:28) [2]var
S: String;
begin
S := DateTimeToStr(DateTimePicker1.DateTime);//Дата, время
S := DateToStr(DateTimePicker1.Date);//Дата
S := TimeToStr(DateTimePicker1.Time);//Время
end;
← →
GenieTM (2005-11-21 17:36) [3]Это все не то.
Забыл уточнить, что используется DateMode - dmUpDown.
Но следует учитывать, что дата (DateTimePicker1.DateTime, DateTimePicker1.Date, DateTimePicker1.Time) изменяется только после завершения ввода дня, месяца или года.
Мне же нужно получить текст в процессе изменения (например 01.01.__19)
← →
Antonn © (2005-11-21 18:05) [4]GenieTM (21.11.05 17:36) [3]
Мне же нужно получить текст в процессе изменения (например 01.01.__19)
и какая же дата в примере? только конкретно.
← →
Leonid Troyanovsky © (2005-11-21 18:18) [5]
> GenieTM (21.11.05 17:36) [3]
> Мне же нужно получить текст в процессе изменения (например
> 01.01.__19)
buf: array [0..255] of Char;
DateTimePicker.Perform(WM_GETTEXT, 256, LParam(@buf));
Ну, а вставишь куда требуется - в OnChange or OnKeyPress or etc.
--
Regards, LVT.
← →
GenieTM (2005-11-21 19:24) [6]
> Leonid Troyanovsky © (21.11.05 18:18) [5]
Возвращает значение, аналогичное DateToString(DateTimePicker.Date).
Объясню пошагово, что мне нужно.
Пусть введена по умолчанию дата 01.01.1900 (жирным выделена активная часть)
Изменяю год:
1. Перемещаюсь на 1900 - 01.01.1900
Начинаю вводить 2005-й год:
2. Нажимаю 2 - отображается 01.01. 2
3. Далее 0 - 01.01. 20
4. Далее 0 - 01.01. 200
5. Далее 5 - 01.01.2005
На протяжении всего цикла 1-5 возвращает предыдущую дату 01.01.1900, а уже после завершения введения получим 01.01.2005.
Мне же нужно последовательно получить 01.01. 2, 01.01. 20, 01.01. 200, 01.01.2005...
← →
Defunct © (2005-11-22 01:25) [7]GenieTM (21.11.05 19:24) [6]
блин, откажитесь от TDateTimePicker если оно ([6]) вам так уж сильно нужно. Вводите в эдите либо в трех эдитах, либо возьмите 2 эдита и комбобокс для месяцев. Короче, гупость обычно устраняется глупыми методами.
← →
Германн © (2005-11-22 02:26) [8]
> Defunct © (22.11.05 01:25) [7]
Согласен, но имхо, лучше 2 комбобокса и один эдит.
← →
GenieTM (2005-11-22 16:50) [9]Это ж сколько лишней возни...
Неужели никак нельзя?
← →
Джо © (2005-11-22 17:10) [10]
> [9] GenieTM (22.11.05 16:50)
> Это ж сколько лишней возни...
Дык это как-раз потому, что задача, скажем так, кхм... довольно глупая. Зачем оно нужно?
Страницы: 1 вся ветка
Текущий архив: 2005.12.18;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.013 c