Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как листать DateTimePicker помесячно ?


Роман ©   (2013-03-16 00:14:00) 

В общем установил DateTimePicker в режим UpDown и набросал следующие строки ))):

var
 ColChasForm: TColChasForm;
 valDat: TDateTime;

implementation

{$R *.dfm}

procedure TColChasForm.DateTimePicker1Change(Sender: TObject);
begin
  if DateTimePicker1.Date > valDat then begin
   valDat:=IncMonth(valDat,1);
   DateTimePicker1.Date:=valDat;
end else if DateTimePicker1.Date < valDat then begin
   valDat:=IncMonth(valDat,-1);
   DateTimePicker1.Date:=valDat;
end else exit;
end;

procedure TColChasForm.FormCreate(Sender: TObject);
var
Year,Month,Day: Word;
begin
DecodeDate(Date,Year,Month,Day);
DateTimePicker1.Date:=EncodeDate(Year,Month,1);
valDat:=EncodeDate(Year,Month,1);
end;

end.


т.е. объявил глобальную переменную, туда сохраняю текущее время, если пикер меняется то по идее должно либо прибавлять ли отнимать месяц, однако парадокс при нажатии в пикере стрелочки либо вверх либо вниз оно только прибавляет но никак ни хочет отнимать месяц. Посмотрел пошагово, оказывается при нажатии на кнопку вниз DateTimePicker1.Date почему то принимает значение больше установленного по умолчанию в проц. FormCreate, хотя по идее вниз значит должно становится меньше, получается истинно всегда только первое условие, а теперь вопрос в чем фикус-пикус ?


Роман   (2013-03-19 03:46:00) [1]

http://www.sql.ru/forum/actualthread.aspx?tid=1010975


Германн   (2013-03-19 01:32:00) [2]


> clickmaker ©   (18.03.13 11:36) [5]
>
> > И что из этого?
>
> то, что в DateTimePicker1.Date всегда будет больше, чем
> в valDat
>

Почему? Из-за DateTimeToSystemTime?


clickmaker   (2013-03-18 11:36:00) [3]

> И что из этого?

то, что в DateTimePicker1.Date всегда будет больше, чем в valDat


Германн   (2013-03-18 01:30:00) [4]


> время (обозначающее отрезки времени меньше "дня") не равно
> 0?

Допустим неравно. И что из этого?


ВО   (2013-03-18 00:43:00) [5]


> в чем фикус-пикус ?

время (обозначающее отрезки времени меньше "дня") не равно 0?


Германн   (2013-03-17 02:40:00) [6]


> В общем установил DateTimePicker в режим UpDown

Зачем именно в этот режим установил?


clickmaker   (2013-03-16 16:21:00) [7]

> листать DateTimePicker помесячно ?

а зачем? если юзер захочет помесячно, он встанет на цифры месяца и будет листать.
А так - можно просто комбик с месяцами сделать


Наверх

Титульная страница Поиск, карта сайта Написать письмо