Page 1 of 1

Problemas al crear lista de BUTTONS y asignarle variables

Posted: Thu Nov 05, 2009 8:47 pm
by PP1963
Buenas tardes a todos, estoy haciendo un programa en el que cojo datos de una dbf y los convierto en BUTTON, y a continuación intento que al pulsar ejecute una funcion con variables adquiridas de esa base de datos. Es decir, en el primer registro tiene la CATEGORIA bueno y el numero 1, pues lo que quiero es que la funcion definida con ACTION quede como CATEGORIAS(1,BUENO). Lo que pasa es que no los coge bien, se que estoy haciendo algo mal, pero no se que es. Os dajuto como intento hacerlo.

Muchas gracias de antemano por vuestra aportacion.


use category
oCategory1=reccount()

for oCategory2 = 1 to oCategory1

go oCategory2
oNomCat=category->categoria
oNumeroCt=category->numero

@ (0.5-1.5)+(oCategory2*1.5), 46 BUTTON alltrim(oNomCat) OF oDlg SIZE 80, 20 ACTION categorias(oNumeroCt,oNomCat)

next

Re: Problemas al crear lista de BUTTONS y asignarle variables

Posted: Fri Nov 06, 2009 1:13 pm
by PP1963
Si alguien me puede ayudar lo agradecería mucho, ya que estoy estancado.

Gracias.

Re: Problemas al crear lista de BUTTONS y asignarle variables

Posted: Fri Nov 06, 2009 1:37 pm
by Marcelo Via Giglio
Hola,

debes ver lo referente a detached local, ve el siguiente hilo te dara la solucion

http://forums.fivetechsupport.com/viewt ... ched+local

saludos

Marcelo

Re: Problemas al crear lista de BUTTONS y asignarle variables

Posted: Fri Nov 06, 2009 2:14 pm
by PP1963
Muchas gracias Marcelo, precisamente ese era mi problema.

:D :D :D :D

Re: Problemas al crear lista de BUTTONS y asignarle variables

Posted: Fri Nov 06, 2009 4:18 pm
by PP1963
He probado con todos los ejemplos que he visto, pero debo de hacer algo mal, ya que siempre me coge los valores de la ultima variable.

He puesto una msginfo() que me indique que variables coge, y siempre es la ultima al pulsar todos los BUTTONS generados.

Adjunto codigo y gracias por vuestro tiempo.

==============================================================================================================================

for oCategory2 = 1 to oCategory1

go oCategory2
oNumeroCt=category->numero
bAction := GenBlock( oNumeroCt )

if oCategory2 <= 12
@ (0.5-1.5)+(oCategory2*1.5), 46 BUTTON alltrim(oNomCat) OF oDlg SIZE 80, 20 ACTION EVAL (bAction)
elseif oCategory2 > 12 .and. oCategory2 <= 24
@ (0.5-1.5)+((oCategory2-12)*1.5), 61 BUTTON alltrim(oNomCat) OF oDlg SIZE 80, 20 ACTION EVAL (bAction)
elseif oCategory2 > 24
@ (0.5-1.5)+((oCategory2-24)*1.5), 76 BUTTON alltrim(oNomCat) OF oDlg SIZE 80, 20 ACTION EVAL (bAction)
endif

next

close category

return nil

======================================================================================================
function GenBlock( x )

return { || ( categorias (x) ) }
======================================================================================================