Pregunta sobre el return

Pregunta sobre el return

Postby leandro » Thu Jun 12, 2008 2:22 pm

Amigos del foro tengan buen dia...

Lo que pasa es que necesito que una funcion me retorne mas de un parametro. Se puede hacer? Lo intente retornando un array, pero no se como capturar cada una de las variables del arreglo...

Alguien me puede ayudar con esto? De antemano gracias
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1489
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Postby sysctrl2 » Thu Jun 12, 2008 2:45 pm

Leandro , en un xbrowse yo regreso los valores en un arreglo.
para despues mostrarlos en un dialogo con gets,

no se si te refieras a esto.


if lEnter //regresa los valores encontrados ...
aValores := array( 8 )
aValores[1] := (cAlias)->nombre
aValores[2] := (cAlias)->contacto
aValores[3] := (cAlias)->direccion
aValores[4] := (cAlias)->colonia
aValores[5] := (cAlias)->localidad
aValores[6] := (cAlias)->telefono
endif

(cAlias)->( dbcloseArea() )

return ( aValores )



static function _teclas( nKey )
do case
case nKey == VK_INSERT
case nKey == VK_RETURN
oDlg1:end()
lEnter := .t.
case nKey == VK_DELETE
case nKey == VK_F3 //ordenar
case nKey == VK_F6 //buscar
case nKey == VK_F8 //listado
endcase
return (.T.)
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
 
Posts: 981
Joined: Mon Feb 05, 2007 7:15 pm

Si..

Postby leandro » Thu Jun 12, 2008 3:15 pm

Si amigo eso es lo que necesito....

Pero que pasa es que no se como sacar los valores del array al momento de llamar la funcion por ejemplo, cuando lo hago retornando una variable lo haria de la siguiente manera:

Code: Select all  Expand view
Funtion numero(a)

IF a=1
  letra:="UNO"
ELSEIF a=2
  letra:="DOS"
ELSEIF a=3
  letra:="TRES"
ELSE
  letra:="OTRO"
ENDIF

Return letra


El resultado que obtendria al momento de llamar la función en el siguiente ejemplo seria DOS:

variablequenecesito:= numero(2)

Ahora lo que necesito es poder decidir cual valor del array me retorna... Pero no se como hacerlo por ejemplo

Code: Select all  Expand view
Funtion numero(a,b,c)

IF a=1
  aletra:= ["UNO","IMPAR","1"]
ELSEIF a=2
  aletra:= ["DOS","PAR","2"]
ELSEIF a=3
  aletra:= ["TRES,"IMPAR","3"]
ELSE
  aletra:= ["OTRO","OTRO","O"]
ENDIF

Return aletra


Entonces la pregunta es?

Como hago para capturar los datos, al momento de llamar la funcion?

ejemplo:

variablequenecesito:=???????

De antemano gracias
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1489
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Postby ARCC » Thu Jun 12, 2008 3:17 pm

Buen día para todos...

Leandro:

Prueba con esto a ver si es lo que necesitas:

Code: Select all  Expand view
#include "FiveWin.ch"

Function Main()

   Local aParametro := DevolverArreglo() // Función que devuelve el arreglo

   MsgInfo( aParametro[1] ) // Devuelto de la función DevolverArreglo()
   MsgInfo( aParametro[2] ) // Devuelto de la función DevolverArreglo()
   MsgInfo( aParametro[3] ) // Devuelto de la función DevolverArreglo()
   MsgInfo( aParametro[4] ) // Devuelto de la función DevolverArreglo()
   MsgInfo( aParametro[5] ) // Devuelto de la función DevolverArreglo()
   MsgInfo( aParametro[6] ) // Devuelto de la función DevolverArreglo()

Return Nil

Function DevolverArreglo() // Función que devuelve el arreglo

  Local aArray := Array(6) // Donde Array(6) es el número total de posiciones en el arreglo"

  aArray[1] := "Parametro 1"
  aArray[2] := "Parametro 2"
  aArray[3] := "Parametro 3"
  aArray[4] := "Parametro 4"
  aArray[5] := "Parametro 5"
  aArray[6] := "Parametro X, Donde X es el número total de posiciones en el arreglo"

Return aArray
Saludos,

Antonio Castro
Maracaibo - Venezuela
ant_cas@yahoo.com
ARCC
 
Posts: 86
Joined: Sat Jun 24, 2006 4:27 pm
Location: Maracaibo - Zulia - Venezuela

Postby leandro » Thu Jun 12, 2008 3:30 pm

ARCC

Amigo si creo que es lo que necesito voy a probarlo y te comento.. :D
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1489
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Postby GUSPRE » Thu Jun 12, 2008 4:10 pm

De esta manera:

Local var_nece, a_res

a_res:=funcion_llamada(), var_nece:=a_res[1]..o a_res[2]..o la que necesites

Saludos,
GUSTAVO PREDIGER
User avatar
GUSPRE
 
Posts: 94
Joined: Thu May 11, 2006 10:00 pm
Location: BS.AS.ARGENTINA


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 110 guests