Function CalculaDVISBN(ByVal ISBN As String) As String
Dim i As Integer, chksum As Integer = 0
Dim factor As Integer = 3
For i = 0 To 11
factor = 4 - factor
chksum += factor * Convert.ToInt16(ISBN.Substring(i, 1))
Next
Return (10 - (chksum Mod 10)).ToString
End Function
End Module
Imports System.IO 'necessária a leitura de arquivo texto
Module Validadores
Public Function E_Numerico(dado As String) As Boolean
If IsNumeric(dado) = False Then
Return False
Else
Return True
End If
End Function
Public Function E_Data(dado As String) As Boolean
If IsDate(dado) = False Then
Return False
Else
Return True
End If
End Function
Public Function E_Nulo(dado As Object) As Boolean
If IsDBNull(dado) = False Then
Return False
Else
Return True
End If
End Function
Public Function E_Nada(dado As String) As Boolean
If IsNothing(dado) = False Then
Return False
Else
Return True
End If
End Function
Public Function valida_cpf_cnpj(ByVal ID As String) As Boolean
' devolve true se o id é um cpf ou cnpj válido
Dim flg As Boolean
flg = E_CNPJ(ID)
If flg = True Then
Return True
End If
flg = E_CPF(ID)
If flg = True Then
Return True
End If
flg = E_CEI(ID)
If flg = True Then
Return True
End If
Return False
End Function
''' <summary>
''' Se retornar true significa que todos os documentos tem CPF ou CNPJ válidos
''' </summary>
''' <returns></returns>
Public Function Verifica_CGC_CPF_CEI_Sindical(arquivo_importacao As String) As Boolean
' lê o arquivo_importação de guias - imposto sindical e verifica se todos os CGCs e CPFs são válidos
Dim a As Integer
Dim fileReader As StreamReader
Dim Dado As String
Dim b As String = "" 'campo a ser validado 'coloquei aqui para não dar erro de compilação
Try
fileReader = File.OpenText(arquivo_importacao)
a = 0
Dado = fileReader.ReadLine 'pulando o header
While fileReader.EndOfStream = False
Dado = fileReader.ReadLine
If Left(Dado, 1) <> "9" And Dado <> "" Then '9=Trailler
'Decodifica_Detalhe_Sindical_Novo(Dado) decodifica os campos dos registros lidos
If Not valida_cpf_cnpj(b) Then 'arquivo_importacao As String
MsgBox("Número de documento inválido : " + b + vbCrLf + "Registro : " + CStr(a)) 'vDetalhe_Sindical.NUM_CONTRIB
'fileReader.Close()
'Return False
End If
End If
a = a + 1
End While
fileReader.Close()
Catch ex As Exception
MsgBox("Ocorreu um erro : " + Err.Description, vbCritical, "Function Verifica_CGC_CPF_CEI_Sindical")
End Try