Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2009, 11:55   #1
Alexi
Пользователь
 
Регистрация: 04.03.2009
Сообщений: 25
По умолчанию объеденение даты

Подскажите пожалуйста , как сделать чтобы при смене месяца в году менялся и год в datetimepicker?datetimepicker имеет следующий вид datemode=dmUpDown

DateTime_SetFormat(DateTimePicker1. Handle, pChar('MMMMMMMMM yyyy'));
BlankDate := FALSE;

Последний раз редактировалось Alexi; 24.04.2009 в 14:34.
Alexi вне форума Ответить с цитированием
Старый 25.04.2009, 07:56   #2
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

К двум событиям DateTimePicker OnChange и OnEnter привязываем процедуры:
Код:
var sMonth : Word;
  //при изменении месяца и при необходимости меняем год
procedure TForm1.DateTimePicker1Change(Sender: TObject);
var Year, Month, Day: Word;
begin
  DecodeDate(DateTimePicker1.Date, Year, Month, Day);
  if sMonth = Month then Exit;
  if (sMonth = 12) and (Month = 1) then
    Inc(Year);
  if (sMonth = 1) and (Month = 12) then
    Dec(Year);
  DateTimePicker1.Date := EncodeDate(Year, Month, Day);
  DecodeDate(DateTimePicker1.Date, Year, sMonth, Day);
end;

  //при входе в объект DateTimePicker1 запоминаем месяц, который в нем установлен
procedure TForm1.DateTimePicker1Enter(Sender: TObject);
var Year, Day: Word;
begin
  DecodeDate(DateTimePicker1.Date, Year, sMonth, Day);
end;
Интересно, где ты откопал функцию DateTime_SetFormat?

Последний раз редактировалось Скандербег; 25.04.2009 в 08:06.
Скандербег вне форума Ответить с цитированием
Старый 27.04.2009, 12:19   #3
Alexi
Пользователь
 
Регистрация: 04.03.2009
Сообщений: 25
По умолчанию

Uses CommCtrl;

Спасибо! подскажите а как их теперь правильно сравнить?

If (sMonth)<(Month)then label4.Caption:='+'else label4.Caption:='-'; когда год изменяеться сравнение происходить неправильно !
Alexi вне форума Ответить с цитированием
Старый 27.04.2009, 15:32   #4
Alexi
Пользователь
 
Регистрация: 04.03.2009
Сообщений: 25
По умолчанию

всем спасибо разобрался
Alexi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Формат даты Green_C@t Общие вопросы Delphi 3 22.09.2009 10:05
Объеденение полей запроса в для отображения нескольких полей в одном списке mrCreator Microsoft Office Access 3 08.08.2009 00:53
Объеденение 2-х таблиц Stanislav БД в Delphi 3 28.07.2008 09:44
Наращивание даты chekanoff Общие вопросы Delphi 5 28.02.2008 18:22
Даты не даты Nasya Microsoft Office Excel 3 22.08.2007 20:18