> Manuales > Tutorial de Visual Basic Script

Las funciones se caracterizan por que devuelven algún valor. Ponemos un ejemplo sobre cómo hacer una calculadora en VBScript.

Ya vimos lo que consistía una función, que no es más que un trozo de código que opera para devolver un valor. Ahora vamos a ver con detenimiento un ejemplo de su uso.

Vamos a definir una función que realice un cálculo matemático y devuelva el resultado del mismo. Los operandos los vamos a extraer de un formulario. El ejemplo puede ser ahora mismo un poco complejo, por tratar con formularios -que no hemos visto todavía-, pero podemos ver el código de la función y hacernos una idea exacta de su uso, que al fin y al cabo es lo que nos importa.

El código de la función será el siguiente:

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 la función recibe tres parámetros, el primero es un operador, que no es más que un texto con el signo de la operación a realizar. Los dos siguientes parámetros son los operadores que hay que tratar.

La función realiza una operación matemática dependiendo de del operador y devuelve en cada caso el resultado conveniente. Fijémonos que para devolver un valor se debe realizar una asignación del nombre de la función al valor que se desea devolver.

No creemos que revista ninguna complicación. Vamos a ver ahora el código que podríamos utilizar para hacer la llamada a la función.

miOperador="+"
miOperando1=221
miOperando2=32
resultado = operar(miOperador,miOperando1,miOperando2)


Al final de todas estas sentencias la variable resultado tendrá como valor 253.

Veamos el ejemplo completo, que consistía en una calculadora hecha con un formulario, que usa esta función para obtener los resultados.

<HTML>
<HEAD>
<link rel=stylesheet type=text/css href=estiloglobal.css>
<TITLE>Funciones en VBS</TITLE>
</HEAD>
<h1>Funciones en 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>
operacion:
<select name=operacion>
<option value="+" selected>+
<option value="-">-
<option value="*">*
<option value="/">/
</select>
<input type=button name=b value="realizar operacion"
          onclick=opera language=vbscript>
<br>
Resultado:
<input name=result >
</BODY>
</HTML>


Hemos tenido que utilizar un procedimiento de apoyo para hacer el ejercicio, ya que, en caso de no utilizarlo, haría un poco más compleja a la funció. Podremos enentenderlo todo ya que no reviste mucha complicación y los procedimientos los pudimos ver en el capítulo anterior. Para tener más claro todavía cómo trabaja esta página de ejemplo podemos ver el ejemplo funcionando.

Tenemos un formulario donde podemos ver campos para los operadores, una caja de selección para el operando y un último campo para el resultado. Es interesante también el botón de realizar operación, que es el que lo pone todo en marcha gracias a su manejador de evento onclick, que quiere decir que cuando se pulse sobre el botón se realice una acción. En este caso es una llamada al prodedimiento opera.

En el procedimiento opera podemos ver varias sentencias para extraer la información del formulario y también la llamada a la función que realiza los cálculos. Por último, se introduce en el campo resultado lo que devolbío la función como resultado de realizar las operaciones.

Podemos ver el ejemplo en funcionamiento.

Miguel Angel Alvarez

Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...

Manual