O Teu Mundo - Muito mais do que possas imaginar...
19.- Funções. Function Americ10

Bem-vindo ao O Teu Mundo!
Registre-se, conecte-se para ter acesso ao forum por completo, ainda podera ter um perfil que pode ser modificado com css e muito mais...



19.- Funções. Function

Ir em baixo

19.- Funções. Function Empty 19.- Funções. Function

Mensagem por Miguel Rocha em Qui Mar 25, 2010 12:34 pm

Já vimos o que consistia uma função, que não é mais do que um pedaço de código que opera para devolver um valor. Agora veremos detalhadamente um exemplo de seu uso.

Vamos definir uma função que realize um cálculo matemático e devolva o resultado do mesmo. Vamos extrair os operandos de um formulário. O exemplo pode ser agora mesmo um pouco complexo, por tratar com formulários -que ainda não vimos- porém, podemos ver o código da função e termos uma idéia exata de seu uso, que afinal de contas é o que nos importa.

O código da função será o seguinte:

Código:
function operar (operador,op1,op2)
  select case operador
      case "+":
        operar = op1 + op2
      case "-":
        operar = op1 - op2
      case "*":
        operar = op1 * op2
      case else:
        operar = op1 / op2
  end select
end function

Vemos que a função recebe três parâmetros, o primeiro é um operador, que não é mais do que um texto com o sinal da operação a realizar. Os dois seguintes parâmetros são os operadores que há que tratar.

A função realiza uma operação matemática dependendo do operador e devolve em cada caso o resultado conveniente. Observemos que para devolver um valor, deve-se realizar uma atribuição do nome da função ao valor que se deseja devolver.

Não implica nenhuma complicação maior. Vamos ver agora o código que poderíamos utilizar para fazer a chamada à função.

Código:
meuOperador="+"
meuOperando1=221
meuOperando2=32
resultado = operar(meuOperador,meuOperando1,meuOperando2)

No final de todas estas sentenças a variável resultado terá como valor 253.

Vejamos o exemplo completo, que consistia em uma calculadora feita com um formulário, que usa esta função para obter os resultados.

Código:
<HTML>
<HEAD>
<link rel=stylesheet type=text/css href=estiloglobal.css>
<TITLE>Funções em VBS</TITLE>
</HEAD>
<h1>Funções em VBS</h1>
<script language=vbscript>
function operar (operador,op1,op2)
 select case operador
  case "+":
  operar = op1 + op2
  case "-":
  operar = op1 - op2
  case "*":
  operar = op1 * op2
  case else:
  operar = op1 / op2
 end select
end function

sub opera ()
 dim res
 operador = document.forms(0).operacion.value
 operando1 = cint(document.forms(0).op1.value)
 operando2 = cint(document.forms(0).op2.value)
  res = operar (operador,operando1,operando2)
 document.forms(0).result.value = res
end sub
</script>
<BODY>
<form>
Operando 1
<input name=op1 >
<br>
Operando 2
<input name=op2 >
<br>
operacao:
<select name=operacao>
<option value="+" selected>+
<option value="-">-
<option value="*">*
<option value="/">/
</select>
<input type=button name=b value="realizar operacao"
          onclick=opera language=vbscript>
<br>
Resultado:
<input name=result >
</BODY>
</HTML>


Tivemos que utilizar um procedimento de apoio para fazer o exercício, já que se não utilizássemos a função se tornaria um pouco mais complexa. Poderemos entender tudo já que não implica muita complicação e os procedimentos foram vistos no capítulo anterior. Para ter ainda mais claro como se trabalha está página de exemplo podemos ver o exemplo funcionando.

Temos um formulário onde podemos ver campos para os operadores, uma caixa de seleção para o operando e um último campo para o resultado. É interessante também o botão de realizar operação, que é o que coloca tudo em funcionamento graças a seu administrador de evento onclick, que quer dizer que quando se clica sobre o botão se realiza uma ação. Neste caso é uma chamada ao procedimento opera.

No procedimento opera podemos ver várias sentenças para extrair a informação do formulário e também a chamada à função que realiza os cálculos. Por último, se introduz no campo resultado o que a função devolvia como resultado de realizar as operações.

Podemos ver o exemplo em funcionamento.

_______________________________________________
Olá Convidado, actualmente este fórum tem 33 membros, 114 categorias , 433 tópicos e 793 posts, mas apenas 0 são teus !
Vá Convidado , tens de postar mais !

Miguel Rocha
Administrador
 Administrador

Masculino Mensagens : 692
Pontos : 22478
Reputação : 11
Idade : 27
Localização : Porto


Voltar ao Topo Ir em baixo

Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum