Mundo Web
manuales - recursos - graficos - programación...

Home -  ASP -   Capítulo 2  -  1 -  2 -  3  -  4  -  5 -  6

Curso práctico de ASP (II). Subprogramas.
por Luciano Moreno, webmaster de HTMLWeb.


Subrutinas.-

Según hemos visto, una subrutina es un programa más o menos grande incluido dentro del código de otro programa padre, que posee un nombre propio y único que lo identifica, que puede ser llamado en cualquier momento de la ejecución del programa padre, tantas veces como sea necesario, y que no devuelve ningún valor tras su ejecución.

Por lo tanto, una subrutina es un procedimiento que ejecuta una serie de instrucciones en un momento dado, a requerimientos del código general del programa padre, y que finaliza su ejecución sin devolver ningún valor a la instrucción que lo ha llamado, y por éste motivo no se pueden usar dentro de una expresión, pero sí para sacar mensajes, pintar datos en pantalla, etc.

Como las subrutinas no se ejecutan directamente según el orden secuencial de escritura de código, si no cuando se les llama, es conveniente situar el código de las mismas al principio del código de la página, ya que así se cargarán en memoria al principio y estarán preparadas y disponibles cuando se les llame. Si llamamos a una subrutina ( o a una función) cuando todavía no ha sido cargada en memoria obtendremos un error.

La sintaxis general que adopta una subrutina es la siguiente:

Sub nombre (argumento1argumento2,...,argumentoN)
   ... instrucciones a ejecutar del procedimiento
End Sub

Donde vemos que se comienza la subrutina con la declaración de la misma, mediante la palabra reservada Sub, seguida del nombre identificador de la subrutina (necesario para poder llamarla luego) y unos paréntesis en los que se declaran los argumentos que necesita recibir para ejecutar las instrucciones que contiene. Se establecen luego las instrucciones que va a ejecutar la subrutina y se cierra ésta mediante End Sub.

Puede darse el caso de que la subrutina no necesite recibir ningún argumento para la ejecución de las instrucciones que contiene. En ese caso habrá que colocar los paréntesis vacíos, pero siempre hay que poner estos, para que se sepa que es un procedimiento:

<%
Sub dameFecha()
    Response.Write("Hoy es " & Date)
End Sub
%>

Que imprime la fecha actual en la página.

NOTA: El método Write del objeto Response se encarga de escribir secuencias de caracteres y variables. Es exclusivo de ASP, por lo que sólo puede ser ejecutado en servidor.

Bien, ya tenemos nuestra subrutina, y ahora ¿cómo la llamamos desde otra parte del código del programa padre?. Muy fácil:

1) Podemos llamar a una subrutina con tan sólo escribir su nombre sin paréntesis, seguido por los argumentos necesarios (si los hay) separados por comas:

<%
  ...código del programa...
     dameFecha
     pintaMensaje "Hola Amigos"
     subrutinaGeneral argumento1, argumento2,..., argumentoN
%>

2) Mediante la palabra clave Call, seguida del nombre de la subrutina y sus argumentos entre paréntesis:

<%
  ...código del programa...
     Call dameTexto("Hola amigos")
%>

Donde dameTexto será la subrutina previamente definida:

<%
Sub dameTexto(texto)
      Response.Write(texto)
End Sub
%>

Cuando introducimos una subrutina en un programa es conveniente realizar, mediante comentarios, una explicación previa de la funcionalidad de la misma y de los parámetros que necesita, ya que así ganamos en claridad de código y estamos seguros de que posteriormente sabremos de forma rápida para qué la escribimos:

<%

    '-------------------------------------
   ' Subrutina PintaMensaje >> pinta un mensaje en pantalla
   ' param mensaje >> cadena de texto a pintar en pantalla
   '-------------------------------------
    Sub PintaMensaje(mensaje)
        .....................
    End Sub
%>

NOTA: Este tema forma parte del curso "Curso Práctico de Programación en ASP 3.0", cuyos temarios han sido desarrollados exclusivamente por HTMLWeb, que también se encarga de las tutorías del mismo. Un curso práctico, de calidad y económico, con un 10% de descuento para los usuarios de HTMLWeb.

 

anterior
siguiente

Home -  ASP -   Capítulo 2  -  1 -  2 -  3  -  4 -  5 -  6