Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

meirelles

para usar função de CNPJ

Recommended Posts

Não to conseguindo usa-látipo, preciso de uma explicaçãomeu request tá assimcnpj = request.form("cnpj")

'|///////////////////////////////////////////////////////////|'| |'| Funcao para calcular CNPJ |'| |'|///////////////////////////////////////////////////////////|function CalculaCNPJ()Dim RecebeCNPJ, Numero(14), soma, resultado1, resultado2RecebeCNPJ = cnpj 'Request("CampoNumero")s="" for x=1 to len(RecebeCNPJ)ch=mid(RecebeCNPJ,x,1)if asc(ch)>=48 and asc(ch)<=57 thens=s & chend ifnextRecebeCNPJ = sif len(RecebeCNPJ) <> 14 thenresponse.write("<h1>É obrigatório o CNPJ com 14 dígitos</h1>")elseif RecebeCNPJ = "00000000000000" thenresponse.write("<h1>CNPJ Inválido</h1>")elseNumero(1) = Cint(Mid(RecebeCNPJ,1,1))Numero(2) = Cint(Mid(RecebeCNPJ,2,1))Numero(3) = Cint(Mid(RecebeCNPJ,3,1))Numero(4) = Cint(Mid(RecebeCNPJ,4,1))Numero(5) = Cint(Mid(RecebeCNPJ,5,1))Numero(6) = CInt(Mid(RecebeCNPJ,6,1))Numero(7) = Cint(Mid(RecebeCNPJ,7,1))Numero(8) = Cint(Mid(RecebeCNPJ,8,1))Numero(9) = Cint(Mid(RecebeCNPJ,9,1))Numero(10) = Cint(Mid(RecebeCNPJ,10,1))Numero(11) = Cint(Mid(RecebeCNPJ,11,1))Numero(12) = Cint(Mid(RecebeCNPJ,12,1))Numero(13) = Cint(Mid(RecebeCNPJ,13,1))Numero(14) = Cint(Mid(RecebeCNPJ,14,1))soma = Numero(1) * 5 + Numero(2) * 4 + Numero(3) * 3 + Numero(4) * 2 + Numero(5) * 9 + Numero(6) * 8 + Numero(7) * 7 + Numero(8) * 6 + Numero(9) * 5 + Numero(10) * 4 + Numero(11) * 3 + Numero(12) * 2soma = soma -(11 * (int(soma / 11)))if soma = 0 or soma = 1 thenresultado1 = 0elseresultado1 = 11 - somaend ifif resultado1 = Numero(13) thensoma = Numero(1) * 6 + Numero(2) * 5 + Numero(3) * 4 + Numero(4) * 3 + Numero(5) * 2 + Numero(6) * 9 + Numero(7) * 8 + Numero(8) * 7 + Numero(9) * 6 + Numero(10) * 5 + Numero(11) * 4 + Numero(12) * 3 + Numero(13) * 2soma = soma - (11 * (int(soma/11)))if soma = 0 or soma = 1 thenresultado2 = 0elseresultado2 = 11 - somaend ifif resultado2 = Numero(14) thenresponse.write("<h1>CNPJ válido</h1>")elseresponse.write("<h1>CNPJ inválido</h1>")end ifelseresponse.write("<h1>CNPJ inválido</h1>")end ifend ifend function%>

e agora como pego o resultado, mostro na tela, sei lá... num tá funcionando!rs

Compartilhar este post


Link para o post
Compartilhar em outros sites

não é sóCall CalculaCNPJ ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

A Function apenas retorna um valor, não executa como a Sub.

 

Exemplo:

 

<%

Function CalculaCNPJ(cnpj )

...

for x=1 to len(cnpj )

ch=mid(cnpj,x,1)

if asc(ch)>=48 and asc(ch)<=57 then

s=s & ch

end if

next

...

 

if resultado2 = Numero(14) then

CalculaCNPJ =True 'Valor que a função vai retornar.

else

CalculaCNPJ =False 'Valor que a função vai retornar.

end if

.....

 

End Function

 

' ######## Chamando a função

 

varCNPJValido= CalculaCNPJ(Request.Form("CNPJ"))

 

' ######## varCNPJValido vai receber TRUE ou False conforme o cálculo da função

%>

 

Bom, resumi para passar a lógica, mas é mais ou menos isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas no caso acima como não retornava ela só funcionaria com o Call como se fosse Sub...o correto é como voce postou arr mas não funcionaria exatamente como estava o codigo dele pois a saida era com response.write

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas no caso acima como não retornava ela só funcionaria com o Call como se fosse Sub

Sim, correto. Para usar como está teria que ser Sub CalculaCNPJ()....End SubA function é usada apenas para retornar um valor.A SUB para executar uma rotina.[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

funcionou usando response, mas mesmo assim achei muito confuso!

Compartilhar este post


Link para o post
Compartilhar em outros sites

é que voce não esta usando como function de verdade e sim como sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

é que voce não esta usando como function de verdade e sim como sub

TEM COMO ME EXPLICAR A DIFERENÇA E COMO SE USA, NO CASO, FUNÇÃO E COMO SE USA UM SUB?

Compartilhar este post


Link para o post
Compartilhar em outros sites

TEM COMO ME EXPLICAR A DIFERENÇA E COMO SE USA, NO CASO, FUNÇÃO E COMO SE USA UM SUB?

idem

Compartilhar este post


Link para o post
Compartilhar em outros sites

função retorna valor

 

sub executa ações apenas

 

exemplos de funções temos as nativas

 

valor = LEFT(valor,2)

esta é função pois retorna um valor, no caso os dois primeiros caracters

 

até a forma de chamar é diferente

 

função a gente chama direto pois ela vai retornar valor

 

sub como não retorna tem de usar o call

 

exemplo

 

SUB MINHASUB()   reponse.write("Exemplo de Sub")END SUB

chamamos

 

CALL MINHASUB()

isso vai escreve na tela o texto e não retorna nada na SUB mesmo

 

function tem de retornar por isso tem de atribuir o seu retorno ao nome da mesma

 

FUNCTION MINHAFUNCTION(texto)   MINHAFUNCTION = textoEND FUNCTION

chamamos igual as nativas

 

response.write(MINHAFUNCTION("Exemplo de Function"))

se não entederam eu tento melhorar um pouco a explicação

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.