Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
-Tutoriales

VBScript

Autor: J. Quijado

CAPITULO 7: Funciones y Procedimientos

En VBScript existen tres formas básicas de ejecución. La primera de ellas se conoce con el nombre de ejecución inmediata. Es un código VBScript insertado dentro de un código HTML y que se ejecuta allí donde está insertado. Es la forma de ejecución de todos los ejemplos que hemos visto hasta ahora en este temario. Hay otras dos formas de ejecución en las que el código se carga en memoria en segundo plano, sin ejecutarse hasta que es invocado en algún punto concreto de la página. Estas dos formas de ejecución se conocen con el nombre de funciones y procedimientos. Dada su propia naturaleza, el código de las funciones y los procedimientos suele ir al principio de la página, normalmente dentro de la cabecera. Ahí se cargan en memoria pero no se ejecutarán hasta que sean invocados desde algún punto de la página. Esto se hace así porque es importante haberlas definido (cargado en memoria) antes de invocarlas. Vamos a ver como funcionan ambos sistemas de ejecución.

. FUNCIONES

Una función es un fragmento de código que recoge unos parámetros (valores que se le pasan para su ejecución) y devuelve un resultado. El código de la función se incluye entre las palabras clave FUNCTION y END FUNCTION. Todo lo que haya entre estas dos líneas será considerado como parte de la función. Además, a la función se le asigna un nombre, por el que se la invocará desde el código y será el nombre del resultado que devuelva. Así pues, en VBScript una función sólo puede devolver un resultado. Veamos un ejemplo que lo dejará todo mas claro. Vamos a escribir un programa que pida dos números por teclado y los sume entre sí:

Funciones
<HTML>
<HEAD>
<TITLE>Ejemplo del uso de funciones</TITLE>
<SCRIPT LANGUAGE = "VBScript">
    ' En la siguiente línea empieza la función.
    FUNCTION sumar (sumando_1, sumando_2)
        sumar = (CLNG(sumando_1) + CLNG(sumando_2))
    END FUNCTION
    ' Ya se ha acabado la función.
</SCRIPT>

</HEAD>
<BODY>
<SCRIPT LANGUAGE = "VBScript">
  OPTION EXPLICIT
  ' A continuación se definen las tres variables que se usarán.
  ' La variable resultado almacenará el resultado que devuelva la función.
  ' Las variables sum1 y sum2 almacenan los valores que se pasarán
  ' como parámetros a la función.
  DIM sum1
  DIM sum2
  DIM resultado

  sum1 = 0
  sum2 = 0
  resultado = 0

  ' El siguiente bloque pide por teclado el primer sumando, comprobando que
  ' se trate de un numero positivo.
  DO UNTIL (sum1  > 0)
    sum1 = INPUTBOX ("Introduzca el primer sumando:")
  LOOP
  ' El siguiente bloque pide por teclado el segundo sumando, comprobando que
  ' sea también un número positivo.
  DO UNTIL (sum2  > 0)
    sum2 = INPUTBOX ("Introduzca el segundo sumando:")
  LOOP
  resultado = sumar (sum1, sum2)
  MSGBOX ("El resultado es " & resultado)
</SCRIPT>
</BODY>
</HTML>

El resultado de este código es que pide al usuario que introduzca que introduzca un número que será el primer sumando de la suma, como ya conocemos:

Primer sumando

En este caso hemos introducido un 5. A continuación se nos pide de igual modo el segundo sumando:

Segundo sumando

Como ves hemos introducido un 7. El programa invoca entonces a la función de la suma a la que hemos llamado sumar. Esta función devuelve un resultado que es mostrado en la siguiente forma:

Resultado de la suma

Vamos a entrar en detalle en el funcionamiento de este proceso. En primer lugar deberemos reparar en que el nombre de las variables que se pasan a la función como parámetros (también llamados argumentos de la función) no tiene por que coincidir con los nombres que se le dieron a los parámetros en el momento de definirla. Si te fijas verás que, en la definición de la función se han incluido como parámetros sumando_1 y sumando_2, tal como vemos en la correspondiente línea de código:

FUNCTION sumar (sumando_1, sumando_2)

Sin embargo en la invocación se usan las variables sum1 y sum2:

resultado = sumar (sum1, sum2)

Esto es así porque el sistema coge la primera variable de la invocación y la asigna al primer argumento de la función; la segunda variable de la invocación la asigna al segundo argumento de la función, y así sucesivamente si hubiera que pasar mas parámetros. De esta forma, para invocar una función nos basta con saber el número de parámetros que es necesario pasarle. Los parámetros deben estar encerrados entre paréntesis y separados por comas, tanto los de la definición como los de la invocación. Dentro de la definición de la función vemos también la siguiente línea:

sumar = (CLNG(sumando_1) + CLNG(sumando_2))

En ella apreciamos que el resultado que devolverá la función, sale de ésta con el mismo nombre que la función (sumar) , aunque luego se alojará en la variable resultado, que es la que invoca a la función.

Además observamos la palabra clave CLNG (). Tiene todo el aspecto de ser una función que se aplica a sumando_1 y a sumando_2. Sin embargo en nuestro código no aparece definida en ninguna parte. Esto es así porque CLNG ()no es una función de usuario, sino una función del lenguaje y, por lo tanto, su comportamiento está definido en el intérprete. Hablaremos de las funciones del lenguaje en el apartado del mismo nombre, dentro de éste capítulo. De momento nos basta saber que si no aplicamos esta función, el resultado no es el que esperamos (la suma aritmética de los parámetros), si no la concatenación de ambos como si fueran cadenas alfanuméricas. Una última consideración acerca de las funciones. Es posible definir y utilizar funciones que no reciban ningún argumento, pero siempre devuelven un resultado.

 
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network