Ayuda con @...PUSHBUTTON

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Ruben Dario
Usuário Nível 3
Usuário Nível 3
Mensagens: 127
Registrado em: 14 Jun 2015 23:19
Localização: Colombia

Ayuda con @...PUSHBUTTON

Mensagem por Ruben Dario »

Saludos al Forum
Tengo este codigo como hago para que me tome los valores de STATE diferentes deacuerdo a la opcion

Caso 1
No lo toma el valor toma el ultimo nCont

Código: Selecionar todos

  nBtn := 0
    FOR nCont = 1 TO Len( ::acButtons )   
           @ pos, iif( nCont == 1, cpos+2, Col()+ 6 ) GET lPrimero PUSHBUTTON;
           CAPTION ::acButtons[ nCont,5 ] STATE  { || nBtn := IsPressed1(nCont)  } ;  
           MESSAGE ::acButtons[ nCont,3 ] COLOR if(::jlopm1,::cBtnClr,::cBtnCl1)
        endif
   NEXT  

      FUNCTION IsPressed1( nButton )
      IF GetActive():control:buffer
         ReadKill( .T. )
      ELSE
         nButton := 0
      ENDIF
   RETURN nButton

Caso 2, tampoco lo ejecuta, el valor del cComExec puede tomar diferentes valores

Código: Selecionar todos

    cComExec := { || ::reg_nav0001("X0") } 
    FOR nCont = 1 TO Len( ::acButtons )   
           @ pos, iif( nCont == 1, cpos+2, Col()+ 6 ) GET lPrimero PUSHBUTTON;
           CAPTION ::acButtons[ nCont,5 ] STATE  { ||cComExec  } ;  
           MESSAGE ::acButtons[ nCont,3 ] COLOR if(::jlopm1,::cBtnClr,::cBtnCl1)
        endif
   NEXT  

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Ayuda con @...PUSHBUTTON

Mensagem por JoséQuintas »

O problema está no codeblock.
Se o codeblock usa o conteúdo da variável nCont, vai ser usada essa variável quando clicar, e o conteúdo vai ser outro.
Talvez usar uma função de construção do codeblock, pra manter o valor fixo.

Código: Selecionar todos

FOR nCont = 1 TO 5
   BlockButton( nCont )
NEXT

FUNCTION BlockButton( n )
   RETURN { || bBtn := IsPressed1( n ) }
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Ruben Dario
Usuário Nível 3
Usuário Nível 3
Mensagens: 127
Registrado em: 14 Jun 2015 23:19
Localização: Colombia

Ayuda con @...PUSHBUTTON

Mensagem por Ruben Dario »

Gracias por tu informacion, si esto fue lo que hice pero no funciona.
Responder