USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Saber os feriados
Perk
não registrado
Postada em 19/11/2004 11:07 hs   
Num sistema de agendamento de reservas que estou fazendo é necessário saber os feriados. Temos os feriados nacionais, que é fácil de eu avisar ao sistema estas datas, mas como avisar ao sistema os feriados flutuantes, como páscoa, carnaval (que são vários dias) etc?
     
Snake
Pontos: 2843
ITAJUBÁ
MG - BRASIL
Postada em 19/11/2004 11:21 hs         
crie uma tabela no banco que deve ser atualizada na entrada de um novo ano !!!
     
Martini
não registrado
Postada em 19/11/2004 13:21 hs   

Private Sub Command1_Click()
 Dim dt_Pascoa As Variant, dt_Carnaval As Variant, dt_SextaSanta As Variant, dt_CorpusC As Variant, Ano As Long
 Ano = CLng(Text1.Text)
 subFeriadosMoveis Ano, dt_Pascoa, dt_Carnaval, dt_SextaSanta, dt_CorpusC
 MsgBox "Feriados móveis de " & Ano & Chr(13) & Chr(10) & Chr(13) & Chr(10) & "Páscoa: " & dt_Pascoa & Chr(13) & Chr(10) & "Carnaval: " & dt_Carnaval & Chr(13) & Chr(10) & "Sexta-feira Santa: " & dt_SextaSanta & Chr(13) & Chr(10) & "Corpus Cristi: " & dt_CorpusC
End Sub

Private Sub subFeriadosMoveis(ByVal Ano As Long, ByRef dt_Pascoa As Variant, ByRef dt_Carnaval As Variant, ByRef dt_SextaSanta As Variant, ByRef dt_CorpusC As Variant)
'Esta função calcula os feriados móveis nacionais:
'Pascoa, Carnaval, Sexta-Feira Santa e CorpusC.

     Dim A, B, C, D, E, F, G, H, I, K, L, M, P, Q As Long
     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)
     P = Int((H + L - 7 * M + 114) / 31)
     Q = ((H + L - 7 * M + 114) Mod 31)
   
     dt_Pascoa = CDate((Q + 1) & "/" & P & "/" & Ano)
     dt_Carnaval = DateAdd("d", -47, dt_Pascoa)
     dt_SextaSanta = DateAdd("d", -2, dt_Pascoa)
     dt_CorpusC = DateAdd("d", 60, dt_Pascoa)

End Sub

 
     
Perk
não registrado
Postada em 19/11/2004 13:36 hs   
Obrigado aos dois !!
 
As duas idéias juntas vão deixar o programa bem legal :-D
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página