Creo que esto depende de Harbour...

Creo que esto depende de Harbour...

Postby goosfancito » 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: Select all  Expand view
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: Select all  Expand view
nValor1, nValor2, nValor3:=  ::guardarFactura( oDescripcion )

Gracias.
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Re: Creo que esto depende de Harbour...

Postby acuellar » Fri Mar 01, 2024 2:25 pm

Etimado goosfancito

Hacerlo así:
Code: Select all  Expand view

nValor1:= nValor2:= nValor3:=  ::guardarFactura( oDescripcion )
 
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1643
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Creo que esto depende de Harbour...

Postby cmsoft » Fri Mar 01, 2024 4:29 pm

acuellar wrote:Etimado goosfancito

Hacerlo así:
Code: Select all  Expand view

nValor1:= nValor2:= nValor3:=  ::guardarFactura( oDescripcion )
 

Pero si los 3 valores son distintos va a ponerles a todos el mismo valor, no?
User avatar
cmsoft
 
Posts: 1290
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Creo que esto depende de Harbour...

Postby Willi Quintana » Sat Mar 02, 2024 12:35 am

HOla Sr.. prueba asi:
Code: Select all  Expand view

local aVar1, aVar2, aVar3
local aValores:= ::guardarFactura( oDescripcion )
aVar1 := aValores[1]
aVar2 := aValores[2]
aVar3 := aValores[3]

 
User avatar
Willi Quintana
 
Posts: 1019
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú

Re: Creo que esto depende de Harbour...

Postby goosfancito » Sat Mar 02, 2024 1:23 pm

Gracias a los tres.

Voy a expandirme mas en la explicacion basandome en un ejemplo:

Code: Select all  Expand view
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/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Re: Creo que esto depende de Harbour...

Postby VictorCasajuana » Sat Mar 02, 2024 3: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 ?
User avatar
VictorCasajuana
 
Posts: 265
Joined: Wed Mar 28, 2018 4:38 pm
Location: Vinaròs

Re: Creo que esto depende de Harbour...

Postby goosfancito » Sat Mar 02, 2024 5: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/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 69 guests