Pregunta sobre el return

Post Reply
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Pregunta sobre el return

Post by leandro »

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 ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
sysctrl2
Posts: 833
Joined: Mon Feb 05, 2007 7:15 pm
Contact:

Post by sysctrl2 »

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
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Si..

Post by leandro »

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

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

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 ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
ARCC
Posts: 86
Joined: Sat Jun 24, 2006 4:27 pm
Location: Maracaibo - Zulia - Venezuela
Contact:

Post by ARCC »

Buen día para todos...

Leandro:

Prueba con esto a ver si es lo que necesitas:

Code: Select all

#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
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Post by leandro »

ARCC

Amigo si creo que es lo que necesito voy a probarlo y te comento.. :D
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
GUSPRE
Posts: 92
Joined: Thu May 11, 2006 10:00 pm
Location: BS.AS.ARGENTINA
Contact:

Post by GUSPRE »

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
Post Reply