Cálculo de feriados móveis em Gambas3
Publicado por Alvaro G B Rodrigues em 26/03/2018
[ Hits: 2.791 ]
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
Soluções para aplicativos de escritório e os vários formatos de arquivos
Introdução a ponteiros na linguagem C
Colocando programas no system tray
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (0)









