domingo, 1 de dezembro de 2013

Função verifica se o dia é feriado


function VerificaFeriado(Hoje : String): Boolean;
var
   SystemTime : TSystemTime;
   Ano        : Integer;

   vsPascoa, vsCarnaval, vsQuartaCinzas, vsSextaSanta, vsCorpusChristi : String;
begin
   GetLocalTime(SystemTime);
   Ano := SystemTime.wYear;

   vsPascoa        := DateToStr(CalculaFeriado(ano, frPascoa       ));
   vsCarnaval      := DateToStr(CalculaFeriado(ano, frCarnaval     ));
   vsQuartaCinzas  := DateToStr(CalculaFeriado(ano, frQuartaCinzas ));
   vsSextaSanta    := DateToStr(CalculaFeriado(ano, frSextaSanta   ));
   vsCorpusChristi := DateToStr(CalculaFeriado(ano, frCorpusChristi));

   { feriados principais }
   if (Hoje = vsPascoa        )       //pascoa
   or (Hoje = vsCarnaval      )       //carnaval
   or (Hoje = vsQuartaCinzas  )       //quarta cinzas
   or (Hoje = vsSextaSanta    )       //sexta feira santa
   or (Hoje = vsCorpusChristi )       //Corpus Christi

   or (Hoje = '1/1/'  +IntToStr(Ano)) //confraternização universal
   or (Hoje = '14/4/' +IntToStr(Ano)) //sexta feira da paixao
   or (Hoje = '21/4/' +IntToStr(Ano)) //tiradentes
   or (Hoje = '1/5/'  +IntToStr(Ano)) //dia do trabalho
   or (Hoje = '7/9/'  +IntToStr(Ano)) //independencia do brasil
   or (Hoje = '12/10/'+IntToStr(Ano)) //nossa senhora de aparecida
   or (Hoje = '2/11/' +IntToStr(Ano)) //finados
   or (Hoje = '15/11/'+IntToStr(Ano)) //proclamação da republica
   or (Hoje = '25/12/'+IntToStr(Ano)) //natal

   or (Hoje = '01/01/'+IntToStr(Ano)) //confraternização universal
   or (Hoje = '14/04/'+IntToStr(Ano)) //sexta feira da paixao
   or (Hoje = '21/04/'+IntToStr(Ano)) //tiradentes
   or (Hoje = '01/05/'+IntToStr(Ano)) //dia do trabalho
   or (Hoje = '07/09/'+IntToStr(Ano)) //independencia do brasil
   or (Hoje = '12/10/'+IntToStr(Ano)) //nossa senhora de aparecida
   or (Hoje = '02/11/'+IntToStr(Ano)) //finados
   or (Hoje = '15/11/'+IntToStr(Ano)) //proclamação da republica
   or (Hoje = '25/12/'+IntToStr(Ano)) //natal
   then
   begin
      Result := True;
   end
   else
   begin
      if (VerificaDataFDS(strtodate(Hoje))) //verifica se é final de semana
      then
         Result := True
      else
         Result := False;
   end;
end;

Nenhum comentário:

Postar um comentário