Ir para conteúdo

POWERED BY:

Arquivado

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

mestre fyoda

Função

Recommended Posts

pedido.asp

ASP
<%

 

        Function TotalPedido(ByVal num_ped, ByVal frete_pedido)

 

                Dim Subtotal, Total

                Set Pedido = con.Execute(" Select * from Pedido where COD_Pedido = '" & num_ped & "' ")

 

                while not Pedido.Eof

       

       

                        Set Produto = con.Execute(" Select * from Produtos where COD_Produto = '" & Pedido("COD_Produto") & "' ")

                        Subtotal = CDbl(Subtotal) + CDbl(Produto("VLR_Unitario")) * Cint(Pedido("QTD_Produto"))

 

                Pedido.MoveNext

                WEND

 

                        Total = CDbl(Subtotal) + CDbl(frete_pedido)

                                                TotalPedido = Total

 

 

 

        End Function

 

%>

 

 

index.asp

ASP
Response.Write TotalPedido( Session("num_ped"), Session("frete_pedido") )

 

Neste caso só vai retornar o Total da função, eu gostaria que retornace o Subtotal e o Totl, como eu faço ?

 

Teria como eu chamar a função e retornar os parametros sem usar o response.write ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

já e não imprimiu nenhum valor !

Entaum você pega as session dai tudo bem, você deveria passar ela para um query ou criar um input hidden e passar este valor por um form.beleza ve ai se dar certo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Diretamente não é possível, o máximo que você pode conseguir é retornar um array.

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça como o salgado disse e para utilizar quebre o array e manipule ele da forma que desejar, não há como uma function retornar separado os dados

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tb pode mudar a passagem dos parametros.consultehttp://www.pogmasters.net/dica.aspx?id=57

Olá...apesar do link indicado tratar a SUB como FUNCTION observo que são duas coisas completamente diferentes....FUNCTION retorna true/false(ou algum outro valor definido), SUB não retorna e apenas processa um bloco de rotinas. Por isso que em uma FUNCTION para retornar mais de um valor deve ser retornado um array http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho q você nao leu o artigo entao

Li o artigo sim, por isso coloquei a observação...veja uma parte da que me refiro:

'Código da função Public Sub aumentaDoisValores(ByRef a, ByRef B )

Veja que não é codigo da função e sim código da SUB....SUB não é uma FUNCTION que retorna mais valores, SUB é como uma procedure onde executa um conjunto de rotinas(muito usada em programação desktop e asp.Net), podendo ou não retornar algo. Minha intenção foi apenas deixar claro para as pessoas que acesarem o link indicado para não fazerem confusão. Observo ainda o slogan do site que induz as pessoas a pratica de POG(Programação Orientada a Gambiarras).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, talvez colocando assim pode dar certo, veja no exemplo abaixovarPedido = Request.Form("pedido")Session("num_ped") = varPedidoapós ter passado por essa página com o exemplo acimavocê poderá fazer somente isso colocandoSession("num_ped") onde deseja resgatar os dadose para abandonar é só colocar Session.Abandon()

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho q você nao leu o artigo entao

Li o artigo sim, por isso coloquei a observação...veja uma parte da que me refiro:

'Código da função Public Sub aumentaDoisValores(ByRef a, ByRef B )

Veja que não é codigo da função e sim código da SUB....SUB não é uma FUNCTION que retorna mais valores, SUB é como uma procedure onde executa um conjunto de rotinas(muito usada em programação desktop e asp.Net), podendo ou não retornar algo. Minha intenção foi apenas deixar claro para as pessoas que acesarem o link indicado para não fazerem confusão. Observo ainda o slogan do site que induz as pessoas a pratica de POG(Programação Orientada a Gambiarras).
como você mesmo disse... está escrito Função... e não FUNCTIONuma sub é uma função não tipada, é como void em c++. um estudo básico em qqr linguagem derivada de C você vai ler sobre issosegue um trecho do artigo:Uma coisa importante a ser notada que apesar de usar sempre o nome função aqui, eu não disse que necessariamente tenha que ser uma função tipada (que retorne algo, no caso do ASP uma Function). Usei uma Sub (função não tipada) já que o resultado retornou através dos parâmetros.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só uma coisinha, sua SUB está errada, o resultado que você informa retornar não está correto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acho que o Fernando esta falando ... sobre a funçoes .... Eh que eh feito a passagem por referencia .....ow seja quando muda o valor da variavel dentro da funcao ow SUB .... .. o valor da mesma e mudado fora da funcao ...Acho que seria +/- isso ... nao eh Ferando .. ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu!

 

Então eu posso fazer das minhas SUBs funções, desde que eu tenha parâmetros por referência, certo?!

 

Muito bom isso.

 

 

Aproveitando o assunto , caso alguém queira saber como se faz isso em java( estou estudando na faculdade ) , acesse:

http://www.pogmasters.net/dica.aspx?id=58

 

Postei lá porque precisava fazer algo semelhante, mas não pude passar parâmetros por referência como no ASP .

 

Vlw.

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.