Cálculo de feriados móveis em Gambas3
Publicado por Alvaro G B Rodrigues em 26/03/2018
[ Hits: 2.898 ]
Public Function FeriadoMovel(Ano As Integer) As Date
Dim a, b, c, d, e, f, g, h, i, k, l, m, mes, dia As Integer
Dim Pascoa As Date
a = Ano Mod 19
b = Int(Ano / 100)
c = Ano Mod 100
d = Int(b / 4)
e = b Mod 4
f = Int((b + 8) / 25)
g = Int((b - f + 1) / 3)
h = (19 * a + b - d - g + 15) Mod 30
i = Int(c / 4)
k = c Mod 4
l = (32 + 2 * e + 2 * i - h - k) Mod 7
m = Int((a + 11 * h + 22 * l) / 451)
mes = Int((h + l - 7 * m + 114) / 31)
dia = ((h + l - 7 * m + 114) Mod 31) + 1
Pascoa = CDate(mes & "/" & dia & "/" & Ano)
Return Pascoa
End Function
Public Sub Button1_Click()
Dim ano As Integer
Dim pascoa As Date
Dim sexta As Date
Dim carna As Date
Dim corpus As Date
txtAno.Select()
ano = CInt(txtAno.Text)
pascoa = FeriadoMovel(ano)
sexta = DateAdd(pascoa, gb.day, -2)
carna = DateAdd(pascoa, gb.day, -47)
corpus = DateAdd(pascoa, gb.day, 60)
txtPascoa.Text = Format$(pascoa, "dd/mm/yyyy")
txtCarna.Text = Format$(carna, "dd/mm/yyyy")
txtSexta.Text = Format$(sexta, "dd/mm/yyyy")
txtCorpus.Text = Format$(corpus, "dd/mm/yyyy")
End
Linux: o que é preciso para as pessoas começarem a usar?
Curso free (vídeo-aula) de informática
Parar envio de email do crontab
librePods: liberte seus AirPods em 2026
Bluefin - A nova geração de ambientes de trabalho Linux
Como atualizar sua versão estável do Debian
Configurar aviso da temperatura da CPU no Conky
Pós-instalação do elementary OS 8.1
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
Conky não mostra temperaturas da CPU no notebook (14)
Registro do 'last&qu... errado [RESOLVIDO] (9)
O WiFi não reconhece minha rede depois que o processo de suspensão é r... (2)









