Показать сообщение отдельно
  #2  
Старый 10.09.2013, 20:03
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию

Сначала должны идти проверки (if), а потом пересчёт дат (JD = ).

Код:
365.25(Year + 4716)
Здесь пропущен знак умножения? *

Код:
if Month>2 then begin
Year:=Year;
Month:=Month;
end
else
if (Month=1) or (Month=2) then begin
Year:=Year-1;
Month:=Month+12;
end;

А здесь логику нужно сделать наоборот (инвертировать), чтоб не писать первую часть кода:

Код:
if (Month=1) or (Month=2) then begin
Year:=Year-1;
Month:=Month+12;
end;

Но этот кусок, должен быть перед пересчётом JDDay
Ответить с цитированием