|
Iniciado por amarildo, fev., 26 2015 10:46 AM - 1 resposta |
| |
| | | |
|
| |
Membro registado 535 mensagems |
|
Publicado em fevereiro, 26 2015 - 10:46 AM |
http://windevdesenvolvimento.blogspot.com.br/2015/02/matos-funcao-cnpj-validar.html
Aqui faco um video para fazer uma função cnpj validar e mostro no blog
IF matos_f_cnpj_validar(EDT_cnpj) = 1 THEN STC_resultado="Cnpj Validado com Sucesso" ELSE STC_resultado="Cnpj Invalido" END
Procedure matos_f_Soma_Com_Peso_Desc(pNro is string, _MenorPeso is int) _Tam is int = Length(pNro) _Peso is 2-byte unsigned int = 0
FOR i=1 TO _Tam _Peso = _Peso + (Asc(pNro[[i]]) -48) * (_Tam-i+_MenorPeso) END RESULT _Peso
Procedure matos_f_cpf_validar(pCPF is string) _CPFis string _Peso is 2-byte unsigned int _Resto is 1-byte int _Digito is 1-byte int FOR i=1 _TO_ Length(pCPF) IF 47 < Asc(pCPF[[i]]) < 58 THEN _CPF+=pCPF[[i]] END END IF Length(_CPF) <> 11 THEN RESULT False FOR i=1 TO 10 _Peso = _Peso + (Asc(_CPF[[1 TO 10]][[i]]) -48) * (10-i+2) END _Resto = Modulo(_Peso,11) IF _Resto < 2 THEN _Digito = 0 ELSE _Digito = 11 - _Resto END
IF Val(_CPF[[11]]) <> _Digito THEN RESULT False ELSE RESULT True END
|
| |
| |
| | | |
|
| | |
| |
Membro registado 535 mensagems |
|
Publicado em fevereiro, 26 2015 - 10:48 AM |
Tinha colocado rotina do cpf acima e nao do cnpj agora vou colocar rotina do cnpj
Procedure matos_f_cnpj_validar(pCNPJ is string) _CNPJ is string _Peso is 2-byte unsigned int _Resto is 1-byte int _Digito is 1-byte int FOR i=1 _TO_ Length(pCNPJ) IF 47 < Asc(pCNPJ[[i]]) < 58 THEN _CNPJ+=pCNPJ[[i]] END IF Length(_CNPJ) <> 14 THEN RESULT False
_Peso = matos_f_Soma_Com_Peso_Desc(_CNPJ[[1 TO 4]],2) ... + matos_f_Soma_Com_Peso_Desc(_CNPJ[[5 TO 12]],2) _Resto = Modulo(_Peso,11) IF _Resto < 2 THEN _Digito = 0 ELSE _Digito = 11 - _Resto IF Asc(_CNPJ[[13]])-48 <> _Digito THEN RESULT False
_Peso = matos_f_Soma_Com_Peso_Desc(_CNPJ[[1 TO 5]],2) ... + matos_f_Soma_Com_Peso_Desc(_CNPJ[[6 TO 13]],2) _Resto = Modulo(_Peso,11) IF _Resto < 2 THEN _Digito = 0 ELSE _Digito = 11 - _Resto IF Asc(_CNPJ[[14]])-48 <> _Digito THEN RESULT False ELSE RESULT True
|
| |
| |
| | | |
|
| | | | |
| | |
|