VBScript

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.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
ARTÍCULO ANTERIOR

SIGUIENTE ARTÍCULO