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

 

  Dicas

  Visual Basic    (Validações)

Título da Dica:  Validar Conta-Corrente Bancária
Postada em 3/10/2003 por ^HEAVY-METAL^            
'Atenção: a conta-corrente deve
'ser passada com 11 casas, senão
'a função retornará Falso.

Public Function ValidarContaCorrente(ByVal sConta As String) As Boolean
On Error GoTo Trataerro

Dim iDigito As Integer, iDigitoVerificador As Integer, sSomaParcial As String
Dim iValor As Integer, iPeso As Integer, lSomaParcial As Long, lSomaTotal As Long
Dim lResult As Long, x As Long, y As Long

ValidarContaCorrente = False
If IsNumeric(sConta) And Len(Trim(sConta)) = 11 Then
    'Valida Modulo 10 da Conta Corrente
    iDigitoVerificador = CInt(Mid(Trim(sConta), 10, 1))
    
    'Atribui Peso aos algarismos e efetua somatória
    iPeso = 2
    lSomaTotal = 0
    For x = 9 To 5 Step -1
        iValor = 0
        lSomaParcial = 0
        sSomaParcial = ""
        iValor = CInt(Mid(Trim(sConta), x, 1))
        lSomaParcial = lSomaParcial + (iValor * iPeso)
        sSomaParcial = CStr(lSomaParcial)
        For y = 1 To Len(Trim(sSomaParcial))
            lSomaTotal = lSomaTotal + CInt(Mid(Trim(sSomaParcial), y, 1))
        Next
        iPeso = iPeso - 1
        If iPeso < 1 Then
            iPeso = 2
        End If
    Next
    'Divisao e validacao Do digito Modulo 10
    lResult = lSomaTotal Mod 10
    If lResult = 0 Then
        iDigito = 0
    Else
        iDigito = 10 - lResult
    End If
    If iDigitoVerificador = iDigito Then
        'Limpar Variaveis
        x = 0
        iPeso = 0
        iValor = 0
        lResult = 0
        lSomaTotal = 0
        iDigitoVerificador = 0

        'Valida Modulo 11 da Conta Corrente
        iDigitoVerificador = CLng(Mid(Trim(sConta), 11, 1))
        
        'Atribui Peso aos algarismos e efetua somatória
        iPeso = 9
        For x = 10 To 1 Step -1
            iValor = 0
            lSomaParcial = 0
            iValor = CInt(Mid(Trim(sConta), x, 1))
            lSomaTotal = lSomaTotal + (iValor * iPeso)
            iPeso = iPeso - 1
            If iPeso < 2 Then
                iPeso = 9
            End If
        Next
        'Divisao e validacao Do digito Modulo 11
        lResult = lSomaTotal Mod 11
        If lResult > 9 Then
            lResult = 0
        End If
        If iDigitoVerificador = lResult Then
            ValidarContaCorrente = True
        End If
    End If
End If
Exit Function

Trataerro:
    ValidarContaCorrente = False
    Msgbox Err.Description
End Function


T+,
 


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