{Rotinas úteis para calcular os feriados varíaveis de Sábado de Carnaval, Sexta Feira Santa, Páscoa e Corpus Christi
De acordo com a tabelinha abaixo podemos criar algumas funções úteis para cáculo de feriados
Sabado de Carnaval = Pascoa - 50 dias
Quarta de Cinzas = Pascoa - 46 dias
Sexta Feira Santa = Pascoa - 2 dias
Corpus Christi = Pascoa + 60 dias
Veja abaixo: }
type
TFeriados = (frPascoa, frCarnaval, frQuartaCinzas, frSextaSanta, frCorpusChristi);
{*******************************************}
// CALCULO DA PASCOA
{*******************************************}
function CalculaPascoa(AAno: Word): TDateTime;
var
R1, R2, R3, R4, R5 : Longint;
FPascoa : TDateTime;
VJ, VM, VD : Word;
begin
R1 := AAno mod 19;
R2 := AAno mod 4;
R3 := AAno mod 7;
R4 := (19 * R1 + 24) mod 30;
R5 := (6 * R4 + 4 * R3 + 2 * R2 + 5) mod 7;
FPascoa := EncodeDate(AAno, 3, 22);
FPascoa := FPascoa + R4 + R5;
DecodeDate(FPascoa, VJ, VM, VD);
case VD of
26 : FPascoa := EncodeDate(Aano, 4, 19);
25 : if R1 > 10 then
FPascoa := EncodeDate(AAno, 4, 18);
end;
Result:= FPascoa;
end;
{*******************************************}
// CALCULA FERIADO
{*******************************************}
function CalculaFeriado(AAno: Word; ATipo: TFeriados): TDateTime;
var
Aux: TDateTime;
begin
Aux := CalculaPascoa(AAno);
Case ATipo of
frCarnaval : Aux := Aux - 50;
frQuartaCinzas : Aux := Aux - 46;
frSextaSanta : Aux := Aux - 2;
frCorpusChristi: Aux := Aux + 60;
end;
Result := Aux;
end;
{By
Nativo_Gyn
ufgnet@pop.com.br}
Mostrando postagens com marcador Rotinas úteis para calcular os feriados varíaveis de sábado de carnaval. Mostrar todas as postagens
Mostrando postagens com marcador Rotinas úteis para calcular os feriados varíaveis de sábado de carnaval. Mostrar todas as postagens
quarta-feira, 7 de outubro de 2009
Assinar:
Postagens (Atom)
