Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.49 MB
Время: 0.054 c
4-1129788953
Владимир
2005-10-20 10:15
2005.12.18
Как программно получить доступ к Event Log


14-1132584437
ychenick
2005-11-21 17:47
2005.12.18
Огромный WinAPI справочник?


4-1129733482
Максим
2005-10-19 18:51
2005.12.18
Получение процента при копировании файла


14-1132214544
ЯВ
2005-11-17 11:02
2005.12.18
комп-щик на нары...


2-1133377981
kernef
2005-11-30 22:13
2005.12.18
Помогите разобраться с математикой!