Показать сообщение отдельно
  #3  
Старый 02.05.2013, 10:26
DOR DOR вне форума
Начинающий
 
Регистрация: 14.01.2011
Сообщения: 171
Версия Delphi: 7
Репутация: 10
По умолчанию

Ваш пример не учитывает високосные года.

Извратился так, для моей задачи сгодится
Код:
procedure Tf_Inform.JvDBDateEdit1Exit(Sender: TObject);
var
  Year, Moth, Day: Word;
  myDate : TDate;
begin
  DecodeDate(JvDBDateEdit1.Date, Year, Moth, Day);
  myDate := JvDBDateEdit1.Date;
  if (Year = 2008) or (Year = 2012) or (Year = 2016) or (Year = 2020) then
    begin
      if Moth <= 2 then
        begin
          myDate := myDate + 365;
          JvDBDateEdit2.Date := myDate;
        end
      else
        begin
          myDate := myDate + 364;
          JvDBDateEdit2.Date := myDate;
        end;
    end
  else
    begin
      myDate := myDate + 364;
      JvDBDateEdit2.Date := myDate;
    end;
end;
Ответить с цитированием