Programación en castellano
Inicio > Taller ASP > ASP > Paso de parametros a funciones en ASP
-Artículos

Paso de parametros a funciones en ASP

1 . Introducción a las funciones
2 . Los parámetros

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.

 

Últimos comentarios
Últimos 5 comentarios

Hola (19/04/2007)

Por
No se si va a funcionar.

paso por parametros (01/11/2006)

Por
hola ke tal

hola (09/11/2005)

Por
deben de poner los otros parametros de funcion y de referencia

sugerencia (25/02/2005)

Por
pongan mas ejemplos y que lo que se menciona se expleque brevemente como variebles relativas y por valor

Pasando ARRAYS como parámetros (23/02/2005)

Por
¿Alguien puede ayudarme sobre pasar un ARRAY como parámetro?
Cuando intento redimensionar el array que paso como parámetro dentro de la función, sale el error de que está bloqueada.
 
Tienda
Patrocinados
 

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

Hospedaje web y servidores dedicados linux por Ferca Network

red internet: musica mp3 | logos y melodias | hospedaje web linux | registro de dominios | servidores dedicados
más internet: comprar | recursos gratis | posicionamiento en buscadores | tienda virtual | gifs animados