Delphi World - Вычисление даты Пасхи
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Вычисление даты Пасхи

Автор: Mark Lussier

...да, microsoft ваш мал, мягок и завис.


function TtheCalendar.CalcEaster: string;
var
  B, D, E, Q: Integer;

  GF: string;
begin

  B := 225 - 11 * (Year mod 19);
  D := ((B - 21) mod 30) + 21;
  if D > 48 then
    Dec(D);
  E := (Year + (Year div 4) + D + 1) mod 7;
  Q := D + 7 - E;
  if Q < 32 then
  begin
    if ShortDateFormat[1] = 'd' then
      Result := IntToStr(Q) + '/3/' + IntToStr(Year)

    else
      Result := '3/' + IntToStr(Q) + '/' + IntToStr(Year);
  end
  else
  begin
    if ShortDateFormat[1] = 'd' then
      Result := IntToStr(Q - 31) + '/4/' + IntToStr(Year)

    else
      Result := '4/' + IntToStr(Q - 31) + '/' + IntToStr(Year);
  end;
  {вычисление страстной пятницы}
  if Q < 32 then
  begin
    if ShortDateFormat[1] = 'd' then
      GF := IntToStr(Q - 2) + '/3/' + IntToStr(Year)
    else
      GF := '3/' + IntToStr(Q - 2) + '/' + IntToStr(Year);
  end
  else
  begin
    if ShortDateFormat[1] = 'd' then
      GF := IntToStr(Q - 31 - 2) + '/4/' + IntToStr(Year)

    else
      GF := '4/' + IntToStr(Q - 31 - 2) + '/' + IntToStr(Year);
  end;

end;

Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования