|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Yuri Gurin 2:467/116.48 14 Mar 2003 00:43:58 To : Sergei Frolov Subject : Пасха -------------------------------------------------------------------------------- SF> Hет ли у кого формулы для вычисления даты начала пасхи? (конкретно SF> - православной) SF> SF> Sergei Frolov Данный алгоритм был опубликован в электронном издании "Советы по Delphi" Валентина Озерова. /*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*/; *WBR, Gurin Y.* --- GoldEd 3.00.Beta5+ & Fido Master 2000 * Origin: I am live... somewhere in time! (2:467/116.48) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/242583e711c90.html, оценка из 5, голосов 10
|