42 - Funciones en ASP (function)


Una función a diferencia de un procedimiento debe retornar un valor.

La sintaxis de una función es:

function [nombre de la función]
  [algoritmo]
  [nombre de la función]=[valor que retorna]
end function

Confeccionaremos un algoritmo que nos permita ingresar por teclado dos valores numéricos. La carga se realiza en un formulario. Haremos una función que retorne true si los dos valores ingresados son numéricos. Debemos mostrar los dos valores ingresados o un mensaje solicitando que se ingresen valores numéricos.

<html>
<head>
<title>problema</title>
</head>
<body>
<form action="pagina1.asp" method="post">
Ingrese el primer valor:
<input type="text" name="valor1"><br>
Ingrese el segundo valor:
<input type="text" name="valor2"><br>
<input type="submit" value="ok"><br>
</form>
</body>
</html> 

Ahora el archivo ASP es (pagina1.asp):

<%option explicit%>
<html>
<head>
<title>problema</title>
</head>
<body>
<%
function ValidarDatos()
  if isnumeric(request.form("valor1")) and isnumeric(request.form("valor2")) then
    ValidarDatos=true
  else
    ValidarDatos=false
  end if
end function

if ValidarDatos() Then
  response.write("Primer valor:" & request.form("valor1") & "<br>")
  response.write("Segundo valor:" & request.form("valor2") & "<br>")
else
  response.write("Deben ingresarse dos valores numéricos")
end if 
%>
</body>
</html>

La función ValidarDatos:

function ValidarDatos()
  if isnumeric(request.form("valor1")) and isnumeric(request.form("valor2")) then
    ValidarDatos=true
  else
    ValidarDatos=false
  end if
end function

Recupera el contenido de los dos controles HTML y mediante una función propia de VBScript (isnumeric) verifica si los dos valores ingresados son numéricos. En caso que las dos condiciones simples del if se verifiquen verdadera procedemos a asignarle al nombre de la función el valor que retornará (en dicho caso true).

La llamada a la función se hace en este caso directamente desde la condición de un if ya que dicha función retorna true o false:

if ValidarDatos() Then
  response.write("Primer valor:" & request.form("valor1") & "<br>")
  response.write("Segundo valor:" & request.form("valor2") & "<br>")
else
  response.write("Deben ingresarse dos valores numéricos")
end if 


Retornar