|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.05.2012, 23:48 | #11 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Только функция YearOf (ну или как она там у вас называется), всё равно внутри себя создаст три переменные, а вернёт Вам только нужное - в данном случае, год. Если такой библиотеки нет, то напишите свою функцию (всего пара строк кода), которая будет возвращать год по дате. И смело используйте переменные, несколько байт, временно выделенные в стеке, ровным счётом ни на что не влияют - этим методом можно смело пользоваться! |
|
19.05.2012, 00:21 | #12 |
Пользователь
Регистрация: 01.05.2012
Сообщений: 32
|
Просто у меня проблема с DateTimePicker!
В режиме dmUpDown не считывается время (дата считывается): void __fastcall TForm1::DateTimePicker1Change(TObje ct *Sender) { unsigned short year,month,day,hour,min,sec,ms; DateTimePicker1->Date.DecodeDate(&year,&month,&day) ; DateTimePicker1->Date.DecodeTime(&hour,&min,&sec,&m s); Label1->Caption=IntToStr(day); //считывается! Label2->Caption=IntToStr(min); //не считывается! } Может, подскажете, в чем ошибка? |
19.05.2012, 12:06 | #13 |
Пользователь
Регистрация: 01.05.2012
Сообщений: 32
|
Как я выяснил, надо просто перед считыванием переключать программно DateTimePicker1 в соответствующий режим даты или времени.
Но как это сделать? |
19.05.2012, 13:22 | #14 |
Пользователь
Регистрация: 01.05.2012
Сообщений: 32
|
Программно тоже почему-то свойства работают корректно только отдельно.
В режиме dmUpDown не меняется ни дата, ни время: unsigned short year,month,day,hour,min,sec,ms; DateTimePicker1->Kind = dtkDate; DecodeDate(DateTimePicker1->Date,year,month,day) ; DateTimePicker1->Kind = dtkTime; DecodeTime(DateTimePicker1->Time,hour,min,sec,ms); Label1->Caption=IntToStr(day); Label2->Caption=IntToStr(min); Если оставить только один из режимов Kind, то все работает! |
22.05.2012, 18:48 | #15 |
Пользователь
Регистрация: 01.05.2012
Сообщений: 32
|
Еще одна проблема при работе с DateTimePicker - различные значения секунд!
void __fastcall TForm1::DateTimePicker1Change(TObje ct *Sender) { float md; unsigned short hour,min,sec,ms; DecodeTime(DateTimePicker1->Time,hour,min,sec,ms); md=float(sec)/86400+15078; Label1->Caption=FloatToStr(md); //работает неправильно! Label2->Caption=FloatToStr(float(sec)/86400+15078); //работает правильно } Что неправильно в первом варианте? |
23.05.2012, 14:24 | #16 |
Пользователь
Регистрация: 01.05.2012
Сообщений: 32
|
Разобрался!
Замена на double помогла! |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
дата в DateTimePicker из БД SQL | DirtyBASS | C/C++ Базы данных | 1 | 13.04.2012 17:20 |
DatetimePicker | fakel-v | Помощь студентам | 0 | 11.12.2011 15:29 |
Дата введённая "ручками" и дата полученная по ссылке | kzld | Microsoft Office Excel | 0 | 06.05.2011 14:45 |
Вычитание дат(дата-дата=кол.дней) | zallza | Общие вопросы Delphi | 1 | 31.05.2010 22:50 |
Дата Конечная (ДД.ММ.ГГГГ) - Дата Начальная (ДД.ММ.ГГГГ) = Количество Месяцев | stanislav24 | Microsoft Office Excel | 5 | 20.12.2008 10:36 |