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

 

  Dicas

  Visual Basic    (Datas/Números/Strings)

Título da Dica:  Calcular a diferença entre duas horas e verificar se o período é Diurno ou Noturno
Postada em 20/1/2004 por BILLYY            
Public Function DifHoras(Entrada As Date, Saida As Date) As String '____CALCULA A DIFERENÇA ENTRE DUAS HORAS______
Dim H1 As Integer
Dim M1 As Integer
Dim H2 As Integer
Dim M2 As Integer
Dim Rh As Integer
Dim Rm As Integer
H1 = Mid(Entrada, 1, 2)
M1 = Mid(Entrada, 4, 2)
H2 = Mid(Saida, 1, 2)
M2 = Mid(Saida, 4, 2)
If H1 < H2 And M1 > M2 Then Rh = H2 - H1 - 1

If H2 > H1 Then
    If M2 < M1 Then
        Rm = 60 - M1
        Rm = Rm + M2
    End If
    If M2 > M1 Then
        Rh = H2 - H1
        Rm = M2 + M1
    End If
    If Rm > 60 Then
        Rm = 60 - M1
        Rm = Rm + M2
        Rm = Rm - 60
    End If
    If Rm = 60 Then
    Rm = 0
    End If
    If Rm = 0 Then
        If H2 > H1 Then
           Rh = H2 - H1
           Rm = 0
        End If
    End If
    
End If

If H2 < H1 Then
    If M2 < M1 Then
        Rm = 60 - M1
        Rm = Rm + M2
        Rh = H2 + 24
        Rh = Rh - H1 - 1
    End If
    If M2 > M1 Then
        Rh = H2 + 24
        Rh = Rh - H1
        Rm = M2 - M1
    End If
    If Rm > 60 Then
        Rm = 60 - M1
        Rm = Rm + M2
        Rm = Rm - 60
    End If
    If Rm = 60 Then
    Rm = 0
    End If
    If Rm = 0 Then
        If H2 < H1 Then
           Rh = H2 + 24
           Rh = Rh - H1
           Rm = 0
        End If
    End If
    
    
End If
If H2 = H1 Then
    If M2 < M1 Then
        Rh = H2 + 24
        Rh = Rh - H1 - 1
        Rm = 60 - M1
        Rm = Rm + M2
    End If
    If M2 > M1 Then
        Rh = H2 - H1
        Rm = M2 - M1
    End If
End If
If H1 = H2 And M1 = M2 Then
    Rh = 24
    Rm = 0
End If
If Rh = 0 Then Rh = Rh * -1
If Rm = 0 Then Rm = Rm * -1
If Rh > 24 Or Rm > 60 Then MsgBox "Informe um horário válido!", vbExclamation, "Atenção!"
If M1 >= 60 Or M2 >= 60 Or H1 > 24 Or H2 > 24 Then MsgBox "Informe um horário válido!", vbExclamation, "Atenção!"

DifHoras = Format(Rh, "00") & ":" & Format(Rm, "00")
'____________________________________________________________
If H1 >= "8" And M1 >= "00" And H2 <= "20" And M2 >= "00" Then '_____VERIFICA SE O PERÍODO É DIURNO OU NOTURNO_____
    frmfichatecnica.lblperiodo.Caption = "Diurno"
  Else
frmfichatecnica.lblperiodo.Caption = "Noturno"
End If

End Function
 


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