В общем установил DateTimePicker в режим UpDown и набросал следующие строки ))):
var
ColChasForm: TColChasForm;
valDat: TDateTime;
implementation
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, хотя по идее вниз значит должно становится меньше, получается истинно всегда только первое условие, а теперь вопрос в чем фикус-пикус ?