Favor Ayuda con CHECKBOX

Post Reply
remtec
Posts: 431
Joined: Fri May 12, 2017 2:50 pm

Favor Ayuda con CHECKBOX

Post by remtec »

Amigos

Muy buen dia, espero que se encuentren muy bein.

Tengo el siguiente problema:

Tengo un CHECKBOX, en la cual toma el valor .T. o .F., necesito que cuando tome el Valor sea .F., un grupo de variables tomen igualmente un valor .F..

Este es el codigo, que no realiza lo que necesito, he realizado _ en la forma y nada:

Desde ya muchas gracias.

Atte.
Antonio

Code: Select all

    Define Dialog oDlgEdit Resname "#1010"
    
    REDEFINE SAY oSay1 ID 111 PROMPT "ACTUALIZA USUARIOS Y PERMISOS" OF oDlgEdit FONT oFont  COLORS RGB(12, 135, 27)

        If lPara
            Redefine Get oCod_usu1 Var Cod_usu1 Id 117 Of oDlgEdit Update Picture "@!"  FONT oFont1 ;
                 Valid Existe_usu(Cod_usu1)
        Else
            Redefine Say oCod_usu1 Prompt Cod_usu1 Id 117 Of oDlgEdit Picture "@!"  FONT oFont1 COLORS nRGB(9, 11, 10), nRGB(73, 250, 202)
        Endif

    Redefine Get oNom_usu1 Var Nom_usu1 Id 118 Of oDlgEdit Update Picture "@!" FONT oFont1   COLORS nRGB(9, 11, 10), nRGB(73, 250, 202)
    Redefine Get oCla_usu1 Var Cla_usu1 Id 119 Of oDlgEdit Update Picture "@!" FONT oFont1   COLORS nRGB(9, 11, 10), nRGB(73, 250, 202)
    
    Redefine Get oNro_usu1 Var Nro_usu1 Id 121 Of oDlgEdit Update Picture "999" FONT oFont1 COLORS nRGB(9, 11, 10), nRGB(73, 250, 202) NO MODIFY

       ** Este el CheckBox

    REDEFINE CHECKBOX oEst_usu1 VAR Est_usu1  ID 122 OF oDlgEdit   ON CLICK (Chek_esta( oDlgEdit ),oPer_agr1:Refresh(),oPer_mod1:Refresh(),oPer_eli1:Refresh(),oPer_imp1:Refresh())

        ** Este Grupo de Variables Debe tomar Valor .F., cuando Esta_usu1 sea .F.

    Redefine CHECKBOX oPer_Agr1     Var Per_Agr1 Id 123 Of oDlgEdit
    Redefine CHECKBOX oPer_Mod1     Var Per_mod1 Id 124 Of oDlgEdit
    Redefine CHECKBOX oPer_Eli1     Var Per_eli1 Id 125 Of oDlgEdit
    Redefine CHECKBOX oPer_Ver1     Var Per_ver1 Id 126 Of oDlgEdit
    Redefine CHECKBOX oPer_Imp1     Var Per_imp1 Id 127 Of oDlgEdit
        
       REDEFINE BTNBMP  Id 153 Resource "#8029" Of oDlgEdit ;
              Action (Graba_usu(.t.),oDlgEdit:Close(),oDlgEdit:END())

        REDEFINE BTNBMP ID 152 Resource "#8004" OF oDlgEdit ;
            ACTION (oDlgEdit:Close(),oDlgEdit:END())

       Activate Dialog oDlgEdit Centered
      oFont1:END()
 

  Return

Static Function Chek_esta(oDlgEdit)
    If !Est_usu1
         Stor .F. to Per_agr1,Per_mod1,Per_eli1,Per_imp1
    Endif
    oDlgEdit:Refresh()
    Return oDlgEdit


 
User avatar
armando.lagunas
Posts: 340
Joined: Mon Oct 05, 2009 3:35 pm
Location: Curico-Chile
Contact:

Re: Favor Ayuda con CHECKBOX

Post by armando.lagunas »

Yo lo haría asi:

Code: Select all


// Coloca esto al principio de tu prg

STATIC Per_agr1,Per_mod1,Per_eli1,Per_imp1, Est_usu1, Per_ver1

Est_usu1 := .f.
Per_agr1 := .f.
Per_mod1 := .f.
Per_eli1 := .f.
Per_imp1 := .f.
Per_ver1 := .f.

//-----

...
...
       ** Este el CheckBox

    REDEFINE CHECKBOX oEst_usu1 VAR Est_usu1  ID 122 OF oDlgEdit   
                                 oEst_usu1:bChange := {|| Chek_esta( oDlgEdit ), oPer_agr1:Refresh(), oPer_mod1:Refresh(), oPer_eli1:Refresh(), oPer_imp1:Refresh())

        ** Este Grupo de Variables Debe tomar Valor .F., cuando Esta_usu1 sea .F.

    Redefine CHECKBOX oPer_Agr1     Var Per_Agr1 Id 123 Of oDlgEdit
    Redefine CHECKBOX oPer_Mod1     Var Per_mod1 Id 124 Of oDlgEdit
    Redefine CHECKBOX oPer_Eli1     Var Per_eli1 Id 125 Of oDlgEdit
    Redefine CHECKBOX oPer_Ver1     Var Per_ver1 Id 126 Of oDlgEdit
    Redefine CHECKBOX oPer_Imp1     Var Per_imp1 Id 127 Of oDlgEdit
       
...
...

Static Function Chek_esta(oDlgEdit)
    
   If !Est_usu1
        Per_agr1 := .f.
        Per_mod1 := .f.
        Per_eli1 := .f.
        Per_imp1 := .f.
        Per_ver1 := .f.
    Endif

    oDlgEdit:Refresh()

    Return Nil

 
Last edited by armando.lagunas on Thu Nov 08, 2018 4:49 pm, edited 1 time in total.
User avatar
cmsoft
Posts: 653
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Favor Ayuda con CHECKBOX

Post by cmsoft »

Suponiendo que los oPer_... son static

Code: Select all

Static Function Chek_esta()
    If !Est_usu1
         oPer_agr1:UnCheck()
         oPer_mod1:UnCheck()
         oPer_eli1:UnCheck()
         oPer_imp1:UnCheck()
    Endif
Return nil
 
remtec
Posts: 431
Joined: Fri May 12, 2017 2:50 pm

Re: Favor Ayuda con CHECKBOX

Post by remtec »

Amigos

Armando y Cesar:

Aplique ambas soluciones y no resulto, incluso declarando como Static las oPer_agr1,.... En la Function Chek_esta(), indicabla variable no definida a oPer_agr1 y las otras, pase todas las variables como parametros a la Function y nada, que necesito es que todas las variables Per_agre1,Per_mod1,Per_eli,..., tomen el Ticket del Checkbox y se muestre en la pantalla, para no estar tickeando una por una.

Quedo atento a otras opciones.

Atte.
Antonio
VitalJavier
Posts: 188
Joined: Mon Jun 10, 2013 6:40 pm

Re: Favor Ayuda con CHECKBOX

Post by VitalJavier »

Yo lo tendria asi :

Code: Select all

PRIVATE Per_agr1,Per_mod1,Per_eli1,Per_imp1, Est_usu1, Per_ver1
PRIVATE oPer_agr1,oPer_mod1,oPer_eli1,oPer_imp1, oEst_usu1, oPer_ver1

Est_usu1 := .f.
Per_agr1 := .f.
Per_mod1 := .f.
Per_eli1 := .f.
Per_imp1 := .f.
Per_ver1 := .f.

REDEFINE CHECKBOX oEst_usu1    VAR Est_usu1 ID 122 OF  oDlgEdit ON CHANGE Chek_esta( oDlgEdit)
Redefine CHECKBOX oPer_Agr1    Var Per_Agr1 Id 123 Of oDlgEdit
Redefine CHECKBOX oPer_Mod1   Var Per_mod1 Id 124 Of oDlgEdit
Redefine CHECKBOX oPer_Eli1     Var Per_eli1 Id 125 Of oDlgEdit
Redefine CHECKBOX oPer_Ver1    Var Per_ver1 Id 126 Of oDlgEdit
Redefine CHECKBOX oPer_Imp1    Var Per_imp1 Id 127 Of oDlgEdit

Static Function Chek_esta()
    If Est_usu1
         Per_agr1 := .T.
         Per_mod1 := .T.
         Per_eli1 := .T.
         Per_imp1 := .T.
         Per_Ver1 := .T.
    Else
         Per_agr1 := .F.
         Per_mod1 := .F.
         Per_eli1 := .F.
         Per_imp1 := .F.
         Per_Ver1 := .F.
    Endif
   oPer_agr1:Refresh()
   oPer_mod1:Refresh()
   oPer_eli1:Refresh()
   oPer_imp1:Refresh()
   oPer_Ver1:Refresh()
Return nil
 
Ojala te funcione
remtec
Posts: 431
Joined: Fri May 12, 2017 2:50 pm

Re: Favor Ayuda con CHECKBOX SOLUCIONADO

Post by remtec »

Amigo VitalJavier

Muy buenas tardes.

Muchas gracias por haberte tomado la molestia de ayudarme, al igual que Armando y Cesar.

Probe tu modificacion del Codigo y funciono PERFECTO.

Muchos Saludos.

Antonio.
Post Reply