Está usted en Indice > Construcción > Lenguajes > ASP > Lecciones y Paso a Paso > Paso de parámetros a funciones con ASP
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Paso de parámetros a funciones con ASP

Introducción a las funciones

Podemos definir una función como un fragmento de código que recoge unos parámetros, realiza operaciones con ellos y finalmente devuelve un resultado. Para declarar una función en ASP, es necesario marcarlo con la palabra reservada Function seguida del nombre de la función e indicando después los parámetros necesarios entre paréntesis. Al terminar nuestro código debemos indicar el fin de la función mediante End Function. Mencionar que el resultado se devuelve en una variable con el nombre de la función. Veamos un ejemplo de una función sencilla:

Function total (valor1, valor2)
	total = valor1 + valor2
End Function

Si queremos invocar a la función simplemente basta con escribir el nombre de la función seguido de los parámetros entre paréntesis. Para usar la función anterior seria necesario escribir en nuestro codigo ASP:

total (5, 3)
Response.Write total(5, 3)   'Esta linea saca por pantalla el 
                             'resultado de la operacion
Response.Write (total(5, 3)) 'Esta linea hará lo mismo pero a 
                             'mi manera de ver es más elegante ;)
Los parámetros

Para profundizar más en las funciones y su uso, puedes buscar algún tutorial web que hablan más detenidamente sobre ellas. Ahora vamos a algo más interesante, el paso de parámetros. El paso de parametros predeterminado en ASP es por referencia. ¿Qué significa esto?. Si en algún momento de la ejecución la función cambia el valor de algun parametro, la variable que se pasó como parámetro también cambiará su valor. Puede sonar complicado, de modo que veamoslo mejor con un ejemplo (las funciones pueden ser un poco banales):

<%@ LANGUAGE= "VBSCRIPT" %>
<HEAD>
<TITLE>Un Ejemplo</TITLE>
<%
Function total (valor1) 'Declaramos la función, al no indicar 
                        'nada el parametro se pasa como "ByRef"
	valor1 = 2 	'En esta sentencia machacamos "valor1" y ahora valdra 2
	total=9		'Como resultado devolvemos 9
End Function
%>
</HEAD>
<BODY>
	<%
	valor1 = 1		'Declaramos la variable y la igualamos a 1
	resul = total(valor1)	'Llamada a la funcion con el parametro 
	                      '"valor1", recogemos el resultado en "resul"
	Response.Write (valor1)	'Imprime por pantalla un 2, ya que
	                        'su "valor1" ha sido cambiado.
	%> 
</BODY>

Si el parametro hubiera sido pasado por valor, los cambios aplicados en la función no afectan la variable ya que se trabaja con una copia, no con el original. Asi pues, es aconsejable declarar la forma en que los parametros serán recogidos por la función, para ello disponemos de dos palabras reservadas: ByVal y ByRef, por valor y por referencia , respectivamente. Veamos el ejemplo anterior, esta vez pasando el parametro por valor:

<%@ LANGUAGE= "VBSCRIPT" %>
<HEAD>
<TITLE>Un Ejemplo</TITLE>
<%
Function total (ByVal valor1) 	'Declaramos la función, esta 
                                'vez pasamos el parametro por valor.
   valor1 = 2 		'"valor1" valdra 2 pero solo en esta copia, 
                  'en realidad el original sigue valiendo 1.
   total=9		'Como resultado devolvemos 9
End Function
%>
</HEAD>
<BODY>
<%
	valor1 = 1	'Declaramos la variable y la igualamos a 1
	resul = total(valor1)	'Llamamos a la funcion con el parametro 
                        '"valor1", recogemos el resultado en "resul"
	Response.Write (valor1)	'Imprime por pantalla un 1, ya que 
	                        '"valor1" NO ha cambiado.
%> 
</BODY>

En resumen, cuando declareis una función, indicad también la forma del paso de parámetro. Además de ser un código más legible y robusto también facilitaréis las cosas por si queréis migrar a .NET en un futuro.

Por Eduardo Antón
Original de Programacion.com



Usuarios que han visto este tema también han visto...

- Depuracion: mostrar las variables de session
- Optimizar páginas con ASP
- Componente FileSystemObject en ASP
- Ejecutar un trabajo (Job) de Sql Server desde ASP.NET
- Lector de RSS con ASP


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 08-10-2008 a las 05:20:21