Power Builder - parametro opcional

   
Vista:

parametro opcional

Publicado por achafio (88 intervenciones) el 09/10/2007 16:43:24
Tengo una función con tres parámetros pero deseo que el tercero sea opcional, como puedo declararlo para que sea opcional.

Gracias por su ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Respuesta

Publicado por Leopoldo Taylhardat (690 intervenciones) el 09/10/2007 18:54:40
Saludos...
Declaras los tres y lo usas o nó cuando lo necesites en la aplicación.
si es nulo delcaras una variable con valor nulo , SetNull(variable) y en la función lo usas o nó comparando con valor nulo:
IF IsNull(variable) THEN..
o
IF Not ISNull(variable) THEN...

Espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Funcion con parametros opcionales

Publicado por Oscar (1178 intervenciones) el 09/10/2007 22:09:57
Funciones con parametros opcionales, está documentado en la ayuda de PB. Tienes un ejemplo en este mismo foro:

http://www.lawebdelprogramador.com/news/mostrar_new.php?id=73&texto=Power+Builder&n1=230047&n2=1&n3=0&n4=0&n5=0&n6=0&n7=0&n8=0&n9=0&n0=0
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Funcion con parametros opcionales

Publicado por alberto (73 intervenciones) el 16/10/2007 22:08:50
Las funciones con argumentos opcionales son una forma anticuada de solucionar la ausencia de sobrecarga de métodos.

la sobrecarga permite tener N métodos del mismo nombre, con diferentes parámetros.

digamos

long of_sumar ( long a, long b) //suma dos numeros

long of_sumar (long a , long b, boolean valorabsoluto ) //retorna el valor absoluto de la suma

long of_sumar ( long a ) // retorna el numero sumado a si mismo

finalmente, uno tiene que UNA sola de estas funciones tiene código:

long of_sumar ( long a, long b , boolean valorabsoluto )

if b <= 0 then //sumar sobre si mismo
if valorabsoluto then //valor absoluto
return abs ( a + a)
else
return a + a
end if
else
if valorabsoluto then
return abs (a + b)
else
return a + b
end if
end if

y posteriormente las funciones llaman a la más completa según lo necesario

long of_sumar ( long a, long b) //suma dos numeros
return of_sumar (a , b , false )

long of_sumar (long a , long b, boolean valorabsoluto ) //retorna el valor absoluto de la suma
return of_sumar ( a , b , valorabsoluto )

long of_sumar ( long a ) // retorna el numero sumado a si mismo
return of_sumar (a , 0 , false )
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar