Funciones y subrutinas ASP | TIEngranaje

¿Eres programador en ASP y te encuentras buscando información sobre funciones y subrutinas? Entonces llegaste al lugar indicado. En este artículo te hablaremos sobre las funciones y subrutinas en ASP, qué son y cómo funcionan. Además, te daremos algunos ejemplos prácticos para que puedas aplicar esta información en tus proyectos. ¡No te lo pierdas!

Una de las características más poderosas de cualquier lenguaje de programación es la capacidad de procedimientos. En lugar de tener todo su código en un formato secuencial, es más eficiente dividirlo en bloques manejables.

Cada bloque de código se usa típicamente para procesar un problema en particular. Estos bloques de código también se conocen como Procedimientos. En general, existen dos tipos de procedimientos: Funciones y subrutinas.

Funciones

Una función es un procedimiento que devoluciones un valor de vuelta a la persona que llama. El «llamador» es desde donde se invocó el procedimiento. Las funciones se crean (declaran) usando el Function declaración y terminó con un End Function declaración.

<%
Function Area(l,w)
    Area = l * w
End Function
%>

En el ejemplo anterior, tenemos un ejemplo de una función que acepta dos parámetros (Más sobre los parámetros a continuación). Esta función toma ambos parámetros, los multiplica y devuelve los resultados al proceso de llamada.

Si bien esta función devuelve datos, hay Sin requisitos para que esto ocurra. Puede declarar esta función en cualquier lugar de su página web y estará disponible para que la llame desde cualquier lugar dentro de la página.

subrutinas

Una subrutina es un procedimiento que no regresa un valor para la persona que llama. Las subrutinas se declaran usando el Sub declaración y terminó con un End Sub declaración.

<%
Sub ShowDate
    Response.Write("Today's Date is: ")
    Response.Write(Now())
End Sub
%>

En este ejemplo, tenemos una subrutina que simplemente escribirá la cadena y la información de fecha/hora actual en la pantalla. A diferencia de la función, no se devuelve ningún valor al proceso de llamada. una subrutina puede o puede que no tienen parámetros pasados.

Parámetros

Un parámetro es un valor ASP que es pasó al procedimiento con el propósito de completar una tarea. Los parámetros se pueden pasar ByVal (por valor) o ByRef (por referencia). Si pasa el parámetro por valor, cualquier cambio en el parámetro dentro del procedimiento, se no ser reflejado en el argumento original.

Si pasas tu parámetro ByRefentonces cualquier cambio en el parámetro actualiza el argumento original. Si desea pasar sus parámetros ByRefdebe incluir el Call instrucción, al llamar al procedimiento.

<%
Function ProcName (var)
' If the calling process omits "Call", then the parameter is
' passed ByVal.  If the keyword "Call" is included, the parameter
' is passed ByRef.
End 

Sub ProcName(ByRef var)
' Calling process must specify the keyword "Call"
var = new value, but also updates value of the originating parameter
End Sub

Function ProcName (ByVal var)
' Calling process may specify or omit the keword "Call"
var = some new value
End Function
%>

Procedimientos de llamada

Al invocar una función o subrutina, debe tener en cuenta las diferentes convenciones de llamadas utilizado para cada uno. Si usted no utilice las convenciones de llamadas adecuadas, puede obtener resultados inesperados (ByVal contra ByRef). Generalmente, cuando llama a una función oa un procedimiento, encierra los parámetros entre paréntesis.

Si está pasando datos de cadena, encerrar la cadena dentro citas. Si está pasando varios parámetros, separado los parámetros usando comas. Usa la palabra clave Callespecialmente si está pasando parámetros a través de ByRef.

' Call a function, results are assigned to variable, myArea.
myArea = area(4,3)

' Ignore the results from the funtion, or
' call a subroutine
area(4,3)

' if passing ByRef, firstName and lastName will be
' updated if new values are assigned in the procedure.
Call fullName(firstName,lastName)

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded

Deja un comentario