FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Pregunta sobre el return
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Pregunta sobre el return
Posted: Thu Jun 12, 2008 02: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

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM
Pregunta sobre el return
Posted: Thu Jun 12, 2008 02: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 "
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Si..
Posted: Thu Jun 12, 2008 03: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:

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

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

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 86
Joined: Sat Jun 24, 2006 04:27 PM
Pregunta sobre el return
Posted: Thu Jun 12, 2008 03:17 PM
Buen d铆a para todos...

Leandro:

Prueba con esto a ver si es lo que necesitas:

#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
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Pregunta sobre el return
Posted: Thu Jun 12, 2008 03: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

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 94
Joined: Thu May 11, 2006 10:00 PM
Pregunta sobre el return
Posted: Thu Jun 12, 2008 04: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

Continue the discussion