Foros del Web » Programando para Internet » ASP Clásico »

Parámetros opcionales en FUNCTION

Estas en el tema de Parámetros opcionales en FUNCTION en el foro de ASP Clásico en Foros del Web. Es la primera vez que entro, así que no domino bien este foro, pero he intentado buscar algo similar a mi pregunta y no lo ...
  #1 (permalink)  
Antiguo 26/09/2003, 14:15
 
Fecha de Ingreso: septiembre-2003
Ubicación: Sevilla
Mensajes: 3
Antigüedad: 20 años, 7 meses
Puntos: 0
Parámetros opcionales en FUNCTION

Es la primera vez que entro, así que no domino bien este foro, pero he intentado buscar algo similar a mi pregunta y no lo he encontrado.

Trabajando en VBScript (ASP) tengo necesidad de crear unas FUNCTIONs y utilizar unos parámetros fijos y otros OPCIONALES.

Con los fijos no tengo problemas (naturalmente), pero con los opcionales NO SE COMO INDICARLOS EN LA FUNCION.

Puede alguien ayudarme.

Gracias.
  #2 (permalink)  
Antiguo 26/09/2003, 18:43
 
Fecha de Ingreso: mayo-2001
Ubicación: Monterrey, N.L.; México
Mensajes: 558
Antigüedad: 23 años
Puntos: 0
qué tipo de funciones son las que quierees crear ?????
cuentanos un poco mas y talvez sea mas facil darte ayuda.
Bienvenido

Saludos
__________________
Luis Gerardo Soto Bonilla
[email protected]
Monterrey, Nuevo León
México
  #3 (permalink)  
Antiguo 27/09/2003, 02:21
 
Fecha de Ingreso: septiembre-2003
Ubicación: Sevilla
Mensajes: 3
Antigüedad: 20 años, 7 meses
Puntos: 0
Gracias por atenderme tan rápido.

He creado un domumento de pruebas que creo que refleja mis necesidades. Aquí está ...

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
' Esta sería la FUNCTION de prueba y lo que necesito es que tanto parm2
' como parm3 sean parámetros opcionales.
' -- Necesito saber como puedo indicarle a la función que son opcionales
' -- Como puedo saber, dentro de la función, si se cumplimentaron o no
' cuando se la llamó.

FUNCTION hola(parm1,parm2,parm3)
response.Write(parm1)
if parm2 ¿EXISTE? then
response.Write(parm2)
end if
if parm3 ¿EXISTE? then
response.Write(parm3)
end if
END FUNCTION
%>
<html>
<head>
<title>Prueba de Parámetros opcionales</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<%
' Estas serían las TRES formas en las que necesitaría llamar a la FUNCTION
hola "fulano"
hola "fulano","mengano"
hola "fulano","mengano","zutano"
%>
</body>
</html>


Espero que con esto me haya explicado un poco mejor.
  #4 (permalink)  
Antiguo 27/09/2003, 12:51
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 21 años, 6 meses
Puntos: 0
Hola, Creo que no necesitarias otra cosa que decirle a tu funcion que imprima cuando haya algo que imprimir...

FUNCTION hola(parm1,parm2,parm3)
response.Write(parm1)
if parm2 <> "" then
response.Write(parm2)
end if
if parm3 <> "" then
response.Write(parm3)
end if
END FUNCTION
%>


espero te sirva de algo...
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein
  #5 (permalink)  
Antiguo 28/09/2003, 01:55
 
Fecha de Ingreso: septiembre-2003
Ubicación: Sevilla
Mensajes: 3
Antigüedad: 20 años, 7 meses
Puntos: 0
Gracias Univercity.

De todas formas, sigo necesitando que sean opcionales los parámetros, ya que las funciones reales son bastante mas complejas y pretendo que , de forma estandard se utilicen valores por defecto, y, solo cuando sea necesario, se inroduzcan estos que cambiarían algunas de las caracteristicas de la función.
  #6 (permalink)  
Antiguo 28/09/2003, 02:02
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 21 años, 6 meses
Puntos: 0
Cita:
De todas formas, sigo necesitando que sean opcionales los parámetros, ya que las funciones reales son bastante mas complejas ...

es que entonces, dinos cual es la verdadera funcion que necesitas que funke...

Slds.
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein
  #7 (permalink)  
Antiguo 29/04/2005, 01:43
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 4 meses
Puntos: 3
A mi tb me gustaría saber cómo poner parámetros opcionales, en visual basic solo pones esto:


Function nombrefun(param1,param2,Optional param3)
'......
End Function

Más allá de que interesa saber su código es cómo se hace en ASP?
Yo sé que muchas veces ayuda q las personas pongan su código, pero en este caso es algo concreto, se puede o no poner parámetros opcionales? y si se puede, cómo?

Espero que alguien nos pueda ayudar
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #8 (permalink)  
Antiguo 29/04/2005, 03:03
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 5 meses
Puntos: 144
Podrías hacer algo como un condicional o un select case, construyendo una u otra función, dependiendo de si existe o no el parámetro.

Suponiendo parm2 y parm3 opcionales:

Ej:
Código:
if parm2<>"" and parm3<>"" then ' o poniendo: if (parm2<>"" and parm3<>"") or (not isnull(parm2) and not isnull(parm3)) then
   FUNCTION hola(parm1,parm2,parm3)
   response.Write(parm1)
   response.Write(parm2) 
   response.Write(parm3) 
   END FUNCTION
end if
Lo mismo para otros casos:
Código:
if parm2<>"" and parm3="" then ' o poniendo: if (parm2<>"" and parm3="") or (not isnull(parm2) and isnull(parm3)) then
   FUNCTION hola(parm1,parm2)
   response.Write(parm1)
   response.Write(parm2) 
   END FUNCTION
end if
Supongo que funcionaría...

Editado: Me acabo de dar cuenta que este tema ha sido resucitado de las cenizas.

Última edición por 3pies; 29/04/2005 a las 04:05
  #9 (permalink)  
Antiguo 29/04/2005, 08:18
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Los parámetros opcionales y de salida NO están implementados en vbscript (ni hablar de sobrecarga ni esas cosas).

Así que habrá que declaralos todos: http://www.aspfaqs.com/aspfaqs/ShowFAQ.asp?FAQID=42

Saludos
  #10 (permalink)  
Antiguo 29/04/2005, 17:31
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 8 meses
Puntos: 18
podrías pasarle los valores opcionales que no existan con un valor predeterminado indicando que no habría que tomarlos en cuenta. es decir,
Código:
FUNCTION hola(parm1,parm2,parm3)
if param3<>"no existe" then
hacer lo que sea con él
end if

   END FUNCTION
call hola("valor real","valor real","no existe")
  #11 (permalink)  
Antiguo 29/04/2005, 17:46
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 1 mes
Puntos: 2
Hola

En Visual Basic, funciones de VbScript no se exactamente, pero en ASP no se pueden poner opcionales..

Si lo que necesitas es tener una funcion que pueda ser modificada por diferentes parametros, pero algunas paginas no los necesitan todos, y ademas quieres que si en un futuro tu estructura cambia y necesias esa funcion dinamica para no tener que cambiarla en todo el sitio... entonces ocupas algo asi.

function MiFuncion(ByVal x, BayVal y, ByRef DictOpcionales)

end function

DictOpcionales es un objeto tipo directorio, y ahi depende de la pagina que mande llamar a la funcion agregas solamente los parametros que necesitas.

Ese es un metodo muy valido cuando sabes que una funcion es muy volatil, o simplemente en tu estructura actual ya tienes casos donde necesitas diferentes parametros segun el caso.

Suerte!!
  #12 (permalink)  
Antiguo 27/04/2010, 18:33
 
Fecha de Ingreso: abril-2010
Mensajes: 1
Antigüedad: 14 años
Puntos: 0
Respuesta: Parámetros opcionales en FUNCTION

Para sobrecargar funciones las declaras varias veces con diferente numero de parametros, ejemplo

Function uno ()
....procedimiento....
End Function
Function uno (parametro1)
...., Procedimiento....
End Function
Function uno (parametro1, Parametro2)
....Procedimiento...
End Function

etc

facil no
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 09:31.