FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Creo que esto depende de Harbour...
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
Creo que esto depende de Harbour...
Posted: Fri Mar 01, 2024 12:52 PM
esta función devuelve un array con tres datos numéricos que yo se lo transfiero a un array local..
Code (fw): Select all Collapse
local aValores:= ::guardarFactura( oDescripcion )
Esos valores luego lo uso en diferentes llamadas a funciones. Mi pregunta es: hay alguna manera de poder hacer esto? (lo vi en otros lenguajes)
Code (fw): Select all Collapse
nValor1, nValor2, nValor3:=  ::guardarFactura( oDescripcion )
Gracias.
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: Creo que esto depende de Harbour...
Posted: Fri Mar 01, 2024 02:25 PM
Etimado goosfancito

Hacerlo así:
Code (fw): Select all Collapse
nValor1:= nValor2:= nValor3:=  ::guardarFactura( oDescripcion )
Saludos,



Adhemar C.
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: Creo que esto depende de Harbour...
Posted: Fri Mar 01, 2024 04:29 PM
acuellar wrote:Etimado goosfancito

Hacerlo así:
Code (fw): Select all Collapse
nValor1:= nValor2:= nValor3:=  ::guardarFactura( oDescripcion )
Pero si los 3 valores son distintos va a ponerles a todos el mismo valor, no?
Posts: 1054
Joined: Sun Oct 09, 2005 10:41 PM
Re: Creo que esto depende de Harbour...
Posted: Sat Mar 02, 2024 12:35 AM
HOla Sr.. prueba asi:
Code (fw): Select all Collapse
local aVar1, aVar2, aVar3
local aValores:= ::guardarFactura( oDescripcion )
aVar1 := aValores[1]
aVar2 := aValores[2]
aVar3 := aValores[3]
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
Re: Creo que esto depende de Harbour...
Posted: Sat Mar 02, 2024 01:23 PM
Gracias a los tres.

Voy a expandirme mas en la explicacion basandome en un ejemplo:
Code (fw): Select all Collapse
method Jorgito(nItem)
    local aResp:={ 0, 0, 0}
    do case
    case nItem = 1
        aResp[1]:= 10
    case nItem = 2
        aResp[2]:= 50
    case nItem = 3
        aResp[3]:= -8
    end case

return aResp

....
local nUno, nDos, nTres

// lo que quisiera es poder hacer esto
nUno, nDos, nTres:= ::Jorgito(2)

// y que cuando vea que valores tienen nUno, nDos y nTres de:
0
50
0

nUno, nDos, nTres:= ::Jorgito(3)
0
0
-8
Yo lo llamaria como "Desplegar el array en variables separadas"
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 309
Joined: Wed Mar 28, 2018 04:38 PM
Re: Creo que esto depende de Harbour...
Posted: Sat Mar 02, 2024 03:05 PM

Hola.

La técnica a la que te refieres es desestructuración de arrays. En JavaScript se utiliza:https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment

En harbour no me suena haberlo visto nunca, aunque sería muy bueno poder tenerlo.

Salud!

Enviado desde mi motorola edge 20 mediante Tapatalk

--------

¿ Y porque no ?

¿ And why not ?
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
Re: Creo que esto depende de Harbour...
Posted: Sat Mar 02, 2024 05:31 PM
VictorCasajuana wrote:Hola.
La técnica a la que te refieres es desestructuración de arrays. En JavaScript se utiliza:https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
En harbour no me suena haberlo visto nunca, aunque sería muy bueno poder tenerlo.
Salud!

Enviado desde mi motorola edge 20 mediante Tapatalk
Bien ahi! esa palabra no me acordaba.
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/

Continue the discussion