Buscar

Retorna a data do feriado de páscoa (útil para calendários)

Código

Function Pascoa(ano: integer):TDate;
var
   y,m,d: word;
   g,i,j,c,h,l: integer;
   e: TDate;
begin
   G := ano mod 19;
   C := ano div 100;
   H := (C - C div 4 - (8*C+13) div 25 + 19*G + 15) mod 30;
   I := H - (H div 28)*(1 -(H div 28)*(29 div (H+1))*((21 - G) div 11));
   J := (ano + ano div 4 + I + 2 - C + C div 4) mod 7;
   L := I - J;
   m := 3 + (L + 40) div 44;
   d := L + 28 - 31*(m div 4);
   y := ano;
   E := EncodeDate(y,m,d);
   while DayofWeek (E) > 1 do
   Result := E;
end;
 

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Object pascal
Adicionada dia: 26/07/03
Por: Amilton Maciel
Visualizada: 3536 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009