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