Ir para conteúdo

POWERED BY:

Arquivado

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

desisto

diferença entre call e sub

Recommended Posts

a diferença é que

Call: usado para chamar uma função(function ou sub). Usando o Call podemos chamar uma sub passando parametros e usando parênteses

Sub: declaração do bloco de função que não retorna valor do que for executado dentro dela

Compartilhar este post


Link para o post
Compartilhar em outros sites

SUB é como se fosse blocos. Ele altera variáveis, ou escreve textos, etc.

 

Por exemplo:

Sub escreveTexto(mensagem)
	Response.write mensagem
End Sub
O CALL seria para chamar o SUB utilizando parenteses.

 

Ex.

Call escreveTexto("oi")
Se não utilizasse CALL, o SUB seria chamado da seguinte maneira:

escreveTexto "oi"
Para ter retorno de um valor, você deve utilizar FUNCTION.

 

Ex.

Function soma(valor1,valor2)
	soma = valor1 + valor2
End Function

Response.Write soma(1,2)
Só não entendi a vantagem de utilizar CALL com FUNCTION. Até então desconhecia essa utilização.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem umas funcoes simples que eu chamo via call

call exibe(1,2)

 

funciona...

mas ta errado?

 

nunca tinha me tocado no uso especifico, por isso fiquei na duvida

Compartilhar este post


Link para o post
Compartilhar em outros sites

o call é um padrão de linguagem para chamas as functions ou subs, mais não quer dizer que está "errado" não usar, faça você mesmo esses testes

 

call chamarfuncao("valor", 2)

chamarfuncao("valor", 2)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Apesar de funcionar para o que você quer, não é a maneira correta. FUNCTION é utilizada para retornar valores a uma variável.

Compartilhar este post


Link para o post
Compartilhar em outros sites

por exemplo nessa aplicacao

If RS.EOF Then

erro("noticia/busca")

else

 

a funcao erro vai redirecionar pra www.xxx.com.br/noticia/busca.asp

 

eu tenho que chamar por call?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Correto.

 

Se fosse uma sub, poderia ser apenas erro "noticia/busca"

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tb tenho uma funcao pra exibir banners que chamo via call

call sistema_banners("200x200","")

o correto seria isso?

response.write sistema_banners("200x200","")

- entao quando nao vou resgatar nenhum valor eu uso call; como o exemplo do redirect

- pra exibir alguma coisa usa function

é isso?

 

so nao entendi ainda pra que serve o sub :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usando seu exemplo... O sub é para fazer o "redirect" e a funcao é para retornar o valor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na minha opinião sim. Há quem diga que deve-se manter no function.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Recapitulando:

Call para chamar SUB utilizando parenteses e Function sem armazenar o retorno em uma variável.

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.