Favor Ayuda con Valid en Get URGENTE

User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Favor Ayuda con Valid en Get URGENTE

Post by FranciscoA »

remtec wrote:Hola Karinha
... lo que necesito es que mientras digia, si Lic1 toma el "S" debe mostrar el los Get y Say, de lo Contrario, no debe mostrar nada en ese Sector.
Quedo atento a los comentarios.
Muchos Saludos.
Antonio
Hola Antonio.
Prueba este codigo ejemplo, a ver si te ayuda en algo.

Code: Select all

//----------------------------------------//
Function Prueba()
local dia_lic1 := 0, Nro_Lic1 := space(15), Tip_Lic1 := " " ,;
      Fec_Ini1 := ctod("  /  /  "),Fec_Fin1 := ctod("  /  /  ")
local oDlg99,oFont992,oFont993
local oGroup992
local oTip_Lic1, oNro_Lic1, oFec_Ini1, oFec_Fin1, oDia_Lic1
local Lic1:="N",oLic1
local oSay1,oSay2,oSay3,oSay4,oSay5
local oTruco,cTruco

    DEFINE DIALOG oDlg99 SIZE 600,600 PIXEL TITLE "ANTECEDENTES" 
    DEFINE FONT oFont992 NAME "ARIAL" SIZE 0,-14 BOLD ITALIC
    DEFINE FONT oFont993 NAME "ARIAL" SIZE 0,-12 BOLD 

    @  150,10 SAY "LICENCIA [S/N]" PIXEL OF oDlg99  COLOR RGB(0, 60, 179) FONT oFont993
    @  150,73 GET oLic1  Var Lic1  SIZE 10,10  PIXEL OF oDlg99  PICTURE "@!"  COLOR RGB(0,0,128) FONT oFont993  UPDATE;
           VALID  Valida( oDlg99,Lic1,oLic1,oTruco ,;
                         {oSay1,oSay2,oSay3,oSay4,oSay5,;
                          oTip_Lic1, oNro_Lic1, oFec_Ini1, oFec_Fin1, oDia_Lic1} )

    @  150,-50 GET oTruco Var cTruco SIZE 10,10  PIXEL OF oDlg99 ;   //necesario para cuando se ejecute el valid y los demas objetos está ocultos.
               VALID .T.

        @ 165,05 GROUP oGroup992  TO 220,270 PIXEL OF oDlg99 PROMPT " ANTECEDENTES LICENCIA MEDICA " FONT oFont992 TRANSPARENT
        @ 185,010 SAY oSay1 PROMPT "Tipo Licencia"   PIXEL OF oDlg99   FONT oFont993
        @ 185,130 SAY oSay2 PROMPT "Nro. Licencia"   PIXEL OF oDlg99   FONT oFont993
        @ 200,010 SAY oSay3 PROMPT "Inicio"          PIXEL OF oDlg99   FONT oFont993
        @ 200,95  SAY oSay4 PROMPT "Término"         PIXEL OF oDlg99   FONT oFont993
        @ 200,185 SAY oSay5 PROMPT "Cant. Dias"      PIXEL OF oDlg99   FONT oFont993

        @ 185,58  GET oTip_Lic1    Var Tip_Lic1  SIZE 50,10   PIXEL OF oDlg99   PICTURE "!"  COLOR RGB(0,0,128)   FONT oFont993 UPDATE
        @ 185,180 GET oNro_Lic1    Var Nro_Lic1  SIZE 66,10   PIXEL OF oDlg99   PICTURE "@!" COLOR RGB(0,0,128)   FONT oFont993 UPDATE
        @ 200,32  GET oFec_Ini1    Var Fec_Ini1  SIZE 50,10   PIXEL OF oDlg99   PICTURE "@d" COLOR RGB(0,0,128)   FONT oFont993 UPDATE
        @ 200,127 GET oFec_Fin1    Var Fec_Fin1  SIZE 50,10   PIXEL OF oDlg99   PICTURE "@d" COLOR RGB(0,0,128)   FONT oFont993 UPDATE;
                  VALID  .T.  //Calcula_Dias(oDia_Lic1,oDlg99,Fec_Ini1,Fec_Fin1)
        @ 200,223 SAY oDia_Lic1    Var Dia_Lic1  SIZE 20,10   PIXEL OF oDlg99   PICTURE "999"    COLOR RGB(0,0,128)   FONT oFont993  BORDER

    ACTIVATE DIALOG oDlg99 CENTERED ;
          ON INIT EVAL(oLic1:bValid)  

    oDlg99:End()

    oFont992:End()
    oFont993:End()

Return nil

//---------------------------------------------
Function Valida( oDlg99,Lic1,oLic1,oTruco,aObjs)
local n, lRet:=.t.

    if !Lic1 $"SN"
       MsgStop("Debe introducir 'S' o 'N'","Error")
       oLic1:SetFocus()
       Return .f.
    endif

    If Lic1 = "S" 
       For n := 1 to len(aObjs)
           aObjs[n]:Show()
       Next
       lRet:=.t.
    Else
       For n := 1 to len(aObjs)
          aObjs[n]:Hide()
       Next
       lRet:=.f.
    Endif

    oDlg99:Refresh()
Return lRet
 
Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh1204-MySql-TMySql
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Favor Ayuda con Valid en Get URGENTE

Post by FranciscoA »

Si tambien quieres ocultar el GRUPO oGroup992, debes agregarlo al array:

Code: Select all

           VALID  Valida( oDlg99,Lic1,oLic1,oTruco ,;
                         {oSay1,oSay2,oSay3,oSay4,oSay5,oGroup992,;
                          oTip_Lic1, oNro_Lic1, oFec_Ini1, oFec_Fin1, oDia_Lic1} )
 
Saludos
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh1204-MySql-TMySql
remtec
Posts: 431
Joined: Fri May 12, 2017 2:50 pm

Re: Favor Ayuda con Valid en Get URGENTE

Post by remtec »

Hola Karinha, Eduardo y Francisco

Muy buenas noches y muchas gracias por su atencion y buena disposición a ayudarme.

Probe las sugerencias de Karinha y Eduardo, pero por mas que luche no logre hacer que cumpla mi necesidad.

En estos momentos estoy revisando lo que me a sugerido Francisco, escribo ahora para que no piensen que no he probado lo que me han indicado, solo que me toma un poco de tiempo entender las sugerencias y aplicarla, pero en eso estoy.

Ejecute el Codigo de Francisco y funciona bien, ahora debo aplicarlo a mi Codigo, ya que el programa tiene muchos mas lineas de lo que mostre aqui.

Estare de cabeza para poder hacerlo funcionar en mi aplicacion.


Desde ya mil gracias.

Saludos
Antonio
remtec
Posts: 431
Joined: Fri May 12, 2017 2:50 pm

Re: Favor Ayuda con Valid en Get URGENTE

Post by remtec »

Hola Francisco

Revisando y tratando de aplicar tu codigo, me he encontrado con un problema, le he agregado unos Gets Antes y Otros despues del codigo que me entregas, pero surge el problema que cuando la variable Lic1 = "N", no permite actualizar lar variables que se encuentran acontinuacion del codigo donde esta LIC1, solo permite seguir si LIC1 = "S".

Te dejo el Codigo estoy tratando de probar, ha ver si me puedes ayudar a corregir el error.

Desde ya muy agradecido.

Muchos Saludos
Antonio.

Te dejo el Codigo Completo de estoy probando:

Code: Select all

 #include "FiveWin.ch"

//----------------------------------------//
Function Prueba()
local dia_lic1 := 0, Nro_Lic1 := space(15), Tip_Lic1 := " " ,;
      Fec_Ini1 := ctod("  /  /  "),Fec_Fin1 := ctod("  /  /  ")

    Local oGroup991,oGroup995,oFont994,oGroup992
        Local oAnm1,oAnm2,oAnm3,oAnm4,oAnm5,oAnm6
    Local oPre_Pac1,oTem_Pac1,oFre_Car1,oFre_Res1,oPes_Pac1,oGet11,oNro_Bon1,oVal_Bon1
        Local anm_1:= Spac(50),  anm_2:= Spac(50), anm_3:= Spac(50),   anm_4:= Spac(50), anm_5:= Spac(50), anm_6:= Spac(50)

        Local Pes_Pac1,Pre_Pac1,Tem_Pac1,Fre_Car1,Fre_Res1


local oDlg99,oFont992,oFont993 ,oFont991

local oTip_Lic1, oNro_Lic1, oFec_Ini1, oFec_Fin1, oDia_Lic1
local Lic1:="N",oLic1
local oSay1,oSay2,oSay3,oSay4,oSay5
local oTruco,cTruco

             Stor Spac(5) to Pes_Pac1
             Stor Spac(7) to Pre_Pac1,Tem_Pac1,Fre_Car1,Fre_Res1


    DEFINE DIALOG oDlg99 SIZE 600,600 PIXEL TITLE "ANTECEDENTES"

        DEFINE FONT oFont993 NAME "TAHOMA" SIZE 0,-14  BOLD
        DEFINE FONT oFont991 NAME "TAHOMA" SIZE 0,18   BOLD
        DEFINE FONT oFont992 NAME 'TAHOMA' SIZE 0,19   BOLD
        DEFINE FONT oFont994 NAME "TAHOMA" SIZE 0,-14




        @ 075,15 GET oAnm1    Var Anm_1  SIZE 204,10      PIXEL OF oDlg99   PICTURE "@!" NO BORDER  COLOR RGB(0,0,128)   FONT oFont993 UPDATE
      @ 095,15 GET oAnm3    Var Anm_3  SIZE 204,10      PIXEL OF oDlg99   PICTURE "@!" NO BORDER  COLOR RGB(0,0,128)   FONT oFont993 UPDATE
      @ 115,15 GET oAnm5    Var Anm_5  SIZE 204,10      PIXEL OF oDlg99   PICTURE "@!" NO BORDER  COLOR RGB(0,0,128)   FONT oFont993 UPDATE

    @  150,10 SAY "LICENCIA [S/N]" PIXEL OF oDlg99  COLOR RGB(0, 60, 179) FONT oFont993
    @  150,73 GET oLic1  Var Lic1  SIZE 10,10  PIXEL OF oDlg99  PICTURE "@!"  COLOR RGB(0,0,128) FONT oFont993  UPDATE;
           VALID  Valida( oDlg99,Lic1,oLic1,oTruco ,;
                         {oSay1,oSay2,oSay3,oSay4,oSay5,oGroup992,;
                          oTip_Lic1, oNro_Lic1, oFec_Ini1, oFec_Fin1, oDia_Lic1} )

        @  150,-50 GET oTruco Var cTruco SIZE 10,10  PIXEL OF oDlg99 ;   //necesario para cuando se ejecute el valid y los demas objetos está ocultos.
               VALID .T.

        @ 165,05 GROUP oGroup992  TO 220,270 PIXEL OF oDlg99 PROMPT " ANTECEDENTES LICENCIA MEDICA " FONT oFont992 TRANSPARENT
        @ 185,010 SAY oSay1 PROMPT "Tipo Licencia"   PIXEL OF oDlg99   FONT oFont993
        @ 185,130 SAY oSay2 PROMPT "Nro. Licencia"   PIXEL OF oDlg99   FONT oFont993
        @ 200,010 SAY oSay3 PROMPT "Inicio"          PIXEL OF oDlg99   FONT oFont993
        @ 200,95  SAY oSay4 PROMPT "Término"         PIXEL OF oDlg99   FONT oFont993
        @ 200,185 SAY oSay5 PROMPT "Cant. Dias"      PIXEL OF oDlg99   FONT oFont993

        @ 185,58  GET oTip_Lic1    Var Tip_Lic1  SIZE 50,10   PIXEL OF oDlg99   PICTURE "!"  COLOR RGB(0,0,128)   FONT oFont993 UPDATE
        @ 185,180 GET oNro_Lic1    Var Nro_Lic1  SIZE 66,10   PIXEL OF oDlg99   PICTURE "@!" COLOR RGB(0,0,128)   FONT oFont993 UPDATE
        @ 200,32  GET oFec_Ini1    Var Fec_Ini1  SIZE 50,10   PIXEL OF oDlg99   PICTURE "@d" COLOR RGB(0,0,128)   FONT oFont993 UPDATE
        @ 200,127 GET oFec_Fin1    Var Fec_Fin1  SIZE 50,10   PIXEL OF oDlg99   PICTURE "@d" COLOR RGB(0,0,128)   FONT oFont993 UPDATE;
                  VALID  .T.  //Calcula_Dias(oDia_Lic1,oDlg99,Fec_Ini1,Fec_Fin1)
        @ 200,223 SAY oDia_Lic1    Var Dia_Lic1  SIZE 20,10   PIXEL OF oDlg99   PICTURE "999"    COLOR RGB(0,0,128)   FONT oFont993  BORDER

         // Fin


      @ 248,010 SAY "Pres. Arterial"            PIXEL OF oDlg99   FONT oFont993
      @ 248,120 SAY "Frec. Respiratoria"            PIXEL OF oDlg99   FONT oFont993
        @ 263,010 SAY "Frec. Cardiaca"          PIXEL OF oDlg99   FONT oFont993
      @ 263,120 SAY "Temp"                                  PIXEL OF oDlg99   FONT oFont993
      @ 263,198 SAY "Peso"                                  PIXEL OF oDlg99   FONT oFont993

        @ 248,60  GET oPre_Pac1    Var Pre_Pac1  SIZE 40,10      PIXEL OF oDlg99   PICTURE "@!"    COLOR RGB(0,0,128)   FONT oFont993 UPDATE
        @ 248,190 GET oFre_Res1    Var Fre_Res1  SIZE 40,10      PIXEL OF oDlg99   PICTURE "@!"    COLOR RGB(0,0,128)   FONT oFont993 UPDATE
        @ 263,60  GET oFre_Car1    Var Fre_Car1  SIZE 40,10      PIXEL OF oDlg99   PICTURE "@!"    COLOR RGB(0,0,128)   FONT oFont993 UPDATE
        @ 263,145 GET oTem_Pac1    Var Tem_Pac1  SIZE 40,10      PIXEL OF oDlg99   PICTURE "@!"    COLOR RGB(0,0,128)   FONT oFont993 UPDATE
        @ 263,218 GET oPes_Pac1    Var Pes_Pac1  SIZE 33,10      PIXEL OF oDlg99   PICTURE "@!"    COLOR RGB(0,0,128)   FONT oFont993 UPDATE

    ACTIVATE DIALOG oDlg99 CENTERED ;
          ON INIT EVAL(oLic1:bValid)

    oDlg99:End()

    oFont992:End()
    oFont993:End()

Return nil

//---------------------------------------------
Function Valida( oDlg99,Lic1,oLic1,oTruco,aObjs)
local n, lRet:=.t.

    if !Lic1 $"SN"
       MsgStop("Debe introducir 'S' o 'N'","Error")
       oLic1:SetFocus()
       Return .f.
    endif

    If Lic1 = "S"
       For n := 1 to len(aObjs)
           aObjs[n]:Show()
       Next
       lRet:=.t.
    Else
       For n := 1 to len(aObjs)
          aObjs[n]:Hide()
       Next
       lRet:=.f.
    Endif

    oDlg99:Refresh()
Return lRet

 
User avatar
karinha
Posts: 4882
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Favor Ayuda con Valid en Get URGENTE

Post by karinha »

Prueba mi código modificado y dime qué está mal ahora. Usando mi código modificado.

Code: Select all

#include "FiveWin.ch"

STATIC oTip_Lic1, oPre_Pac1

FUNCTION Prueba()

   LOCAL dia_lic1 := 0, Nro_Lic1 := space( 15 ), Tip_Lic1 := " " , ;
      Fec_Ini1 := ctod( "  /  /  " ), Fec_Fin1 := ctod( "  /  /  " )
   LOCAL oGroup991, oGroup995, oFont994, oGroup992
   LOCAL oAnm1, oAnm2, oAnm3, oAnm4, oAnm5, oAnm6
   LOCAL oTem_Pac1, oFre_Car1, oFre_Res1, oPes_Pac1, oGet11, ;
         oNro_Bon1, oVal_Bon1
   LOCAL anm_1 := Spac( 50 ),  anm_2 := Spac( 50 ), anm_3 := Spac( 50 ),   ;
         anm_4 := Spac( 50 ), anm_5 := Spac( 50 ), anm_6 := Spac( 50 )
   LOCAL Pes_Pac1, Pre_Pac1, Tem_Pac1, Fre_Car1, Fre_Res1
   LOCAL oDlg99, oFont992, oFont993 , oFont991
   // LOCAL oTip_Lic1, oNro_Lic1, oFec_Ini1, oFec_Fin1, oDia_Lic1
   LOCAL oNro_Lic1, oFec_Ini1, oFec_Fin1, oDia_Lic1
   LOCAL Lic1 := "N", oLic1
   LOCAL oSay1, oSay2, oSay3, oSay4, oSay5
   LOCAL oTruco, cTruco

   STOR Spac( 5 ) TO Pes_Pac1
   STOR Spac( 7 ) TO Pre_Pac1, Tem_Pac1, Fre_Car1, Fre_Res1

   DEFINE FONT oFont993 NAME "TAHOMA" SIZE 0, - 14  BOLD
   DEFINE FONT oFont991 NAME "TAHOMA" SIZE 0, 18   BOLD
   DEFINE FONT oFont992 NAME 'TAHOMA' SIZE 0, 19   BOLD
   DEFINE FONT oFont994 NAME "TAHOMA" SIZE 0, - 14

   DEFINE DIALOG oDlg99 SIZE 600, 600 PIXEL TITLE "ANTECEDENTES"

   @ 075, 15 GET oAnm1 Var Anm_1 SIZE 204, 10 PIXEL OF oDlg99               ;
      PICTURE "@!" NO BORDER  COLOR RGB( 0, 0, 128 ) FONT oFont993 UPDATE   ;
      VALID( NO_SALIR_DEL_GET() )

   @ 095, 15 GET oAnm3 Var Anm_3 SIZE 204, 10 PIXEL OF oDlg99               ;
      PICTURE "@!" NO BORDER COLOR RGB( 0, 0, 128 ) FONT oFont993 UPDATE

   @ 115, 15 GET oAnm5 Var Anm_5 SIZE 204, 10 PIXEL OF oDlg99 PICTURE "@!"  ;
      NO BORDER  COLOR RGB( 0, 0, 128 )   FONT oFont993 UPDATE

   @  150, 10 SAY "LICENCIA [S/N]" PIXEL OF oDlg99  COLOR RGB( 0, 60, 179 ) ;
      FONT oFont993

   // CAMBIADO
   @  150, 73 GET oLic1  Var Lic1  SIZE 20, 12  PIXEL OF oDlg99        ;
      PICTURE "@K!" COLOR RGB( 0, 0, 128 ) FONT oFont993 UPDATE CENTER ;
      VALID  Valida( oDlg99, Lic1, oLic1, oTruco,                      ;
         { oSay1, oSay2, oSay3, oSay4, oSay5, oGroup992,               ;
           oTip_Lic1, oNro_Lic1, oFec_Ini1, oFec_Fin1, oDia_Lic1 } )

   //necesario para cuando se ejecute el valid y los demas objetos está ocultos.
   @  150, - 50 GET oTruco Var cTruco SIZE 10, 10  PIXEL OF oDlg99 ;   
   VALID .T.

   @ 165, 05 GROUP oGroup992  TO 220, 270 PIXEL OF oDlg99 ;
      PROMPT " ANTECEDENTES LICENCIA MEDICA " FONT oFont992 TRANSPARENT

   @ 185, 010 SAY oSay1 PROMPT "Tipo Licencia" PIXEL OF oDlg99 FONT oFont993

   @ 185, 130 SAY oSay2 PROMPT "Nro. Licencia" PIXEL OF oDlg99 FONT oFont993

   @ 200, 010 SAY oSay3 PROMPT "Inicio" PIXEL OF oDlg99 FONT oFont993

   @ 200, 95  SAY oSay4 PROMPT "Término" PIXEL OF oDlg99 FONT oFont993

   @ 200, 185 SAY oSay5 PROMPT "Cant. Dias" PIXEL OF oDlg99 FONT oFont993

   @ 185, 58  GET oTip_Lic1 Var Tip_Lic1 SIZE 50, 10 PIXEL OF oDlg99    ;
      PICTURE "!"  COLOR RGB( 0, 0, 128 )   FONT oFont993 UPDATE

   @ 185, 180 GET oNro_Lic1 Var Nro_Lic1  SIZE 66, 10 PIXEL OF oDlg99   ;
      PICTURE "@!" COLOR RGB( 0, 0, 128 )   FONT oFont993 UPDATE

   @ 200, 32  GET oFec_Ini1 Var Fec_Ini1  SIZE 50, 10 PIXEL OF oDlg99   ;
      PICTURE "@d" COLOR RGB( 0, 0, 128 )   FONT oFont993 UPDATE

   @ 200, 127 GET oFec_Fin1 Var Fec_Fin1  SIZE 50, 10 PIXEL OF oDlg99   ;
      PICTURE "@d" COLOR RGB( 0, 0, 128 )   FONT oFont993 UPDATE ;
      VALID  .T.  //Calcula_Dias(oDia_Lic1,oDlg99,Fec_Ini1,Fec_Fin1)

   @ 200, 223 SAY oDia_Lic1 Var Dia_Lic1 SIZE 20, 10 PIXEL OF oDlg99    ;
      PICTURE "999" COLOR RGB( 0, 0, 128 )   FONT oFont993  BORDER

   // Fin

   @ 248, 010 SAY "Pres. Arterial" PIXEL OF oDlg99 FONT oFont993

   @ 248, 120 SAY "Frec. Respiratoria" PIXEL OF oDlg99 FONT oFont993

   @ 263, 010 SAY "Frec. Cardiaca" PIXEL OF oDlg99 FONT oFont993

   @ 263, 120 SAY "Temp" PIXEL OF oDlg99 FONT oFont993

   @ 263, 198 SAY "Peso" PIXEL OF oDlg99 FONT oFont993

   @ 248, 60  GET oPre_Pac1 Var Pre_Pac1  SIZE 40, 10 PIXEL OF oDlg99   ;
      PICTURE "@!"    COLOR RGB( 0, 0, 128 )   FONT oFont993 UPDATE

   @ 248, 190 GET oFre_Res1 Var Fre_Res1  SIZE 40, 10 PIXEL OF oDlg99   ;
      PICTURE "@!"    COLOR RGB( 0, 0, 128 )   FONT oFont993 UPDATE

   @ 263, 60  GET oFre_Car1 Var Fre_Car1  SIZE 40, 10 PIXEL OF oDlg99   ;
      PICTURE "@!"    COLOR RGB( 0, 0, 128 )   FONT oFont993 UPDATE

   @ 263, 145 GET oTem_Pac1 Var Tem_Pac1  SIZE 40, 10 PIXEL OF oDlg99   ;
      PICTURE "@!"    COLOR RGB( 0, 0, 128 )   FONT oFont993 UPDATE

   @ 263, 218 GET oPes_Pac1 Var Pes_Pac1  SIZE 33, 10 PIXEL OF oDlg99   ;
      PICTURE "@!"    COLOR RGB( 0, 0, 128 )   FONT oFont993 UPDATE

   ACTIVATE DIALOG oDlg99 CENTERED ;
      ON INIT EVAL( oLic1:bValid )

   oDlg99:End()

   oFont991:End()
   oFont992:End()
   oFont993:End()
   oFont994:End()

RETURN nil
//---------------------------------------------
FUNCTION Valida( oDlg99, Lic1, oLic1, oTruco, aObjs )

   LOCAL n, lRet := .T.

   IF GETKEYSTATE( VK_UP )

      RETURN( .T. )

   ENDIF

   IF GETKEYSTATE( VK_RETURN )

      oPre_Pac1:SetFocus()

      RETURN( .T. )

   ENDIF

   IF !Lic1 $ "SN"

      MsgStop( "Debe introducir 'S' o 'N'", "Error" )

      oLic1:SetFocus()

      RETURN .F.

   ENDIF

   IF Lic1 = "S"

      FOR n := 1 TO len( aObjs )
         aObjs[n]:Show()
      NEXT

      oTip_Lic1:SetFocus()

      lRet := .T.

   ELSE

      FOR n := 1 TO len( aObjs )
         aObjs[n]:Hide()
      NEXT

      lRet := .F.

   ENDIF

   oDlg99:Refresh()

RETURN( lRet )

FUNCTION NO_SALIR_DEL_GET()

   IF GETKEYSTATE( VK_UP )

      RETURN( .F. )

   ENDIF

RETURN( .T. )
 
Saludos.
João Santos - São Paulo - Brasil
remtec
Posts: 431
Joined: Fri May 12, 2017 2:50 pm

Re: Favor Ayuda con Valid en Get URGENTE

Post by remtec »

Hola Karinha

Muchas gracias por tu bondad de ayudame.

Mira probe tu codigo aplicado a lo que debo hacer y funciona bajo algunas condiciones que paso a explicarte:

. Cuando el Get Lic1 toma el valor " N ", para aceptar Debo Usar solo Tecla ENTER, si uso la Flecha ---> no me permite seguir.

. Cuando el Get Lic1 Toma el Valor " S ", debo obligatoriamente usar la Tecla ---> para que muestre los datos de Licencias, si uso la Tecla ENTER, se salta y no muestra los Say y Get para ingresar datos de la Licencia.

Como podria corregir eso y dejarlo estandar que para ambas opciones se use la tecla ENTER, para que acepte el valor de Lic1 y puedar realizar ell proceso segun condicion?.

Muchos Saludos.
Antonio
User avatar
karinha
Posts: 4882
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Favor Ayuda con Valid en Get URGENTE

Post by karinha »

Saludos.

Mira en \include\vkey.ch porfa.

Y comente se comprendes?
João Santos - São Paulo - Brasil
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Favor Ayuda con Valid en Get URGENTE

Post by FranciscoA »

remtec wrote:Hola Francisco

Revisando y tratando de aplicar tu codigo, me he encontrado con un problema, le he agregado unos Gets Antes y Otros despues del codigo que me entregas, pero surge el problema que cuando la variable Lic1 = "N", no permite actualizar lar variables que se encuentran acontinuacion del codigo donde esta LIC1, solo permite seguir si LIC1 = "S".

Te dejo el Codigo estoy tratando de probar, ha ver si me puedes ayudar a corregir el error.

Desde ya muy agradecido.

Muchos Saludos
Antonio.

Te dejo el Codigo Completo de estoy probando:
 [/code]
Hola Antonio. Aquí lo tienes. Pruébalo y nos dices.
La function Valida() ha cambiado.
Saludos.

Code: Select all

Function Prueba()
local dia_lic1 := 0, Nro_Lic1 := space(15), Tip_Lic1 := " " ,;
      Fec_Ini1 := ctod("  /  /  "),Fec_Fin1 := ctod("  /  /  ")
local oDlg99,oFont992,oFont993
local oGroup992
local oTip_Lic1, oNro_Lic1, oFec_Ini1, oFec_Fin1, oDia_Lic1
local Lic1:="N",oLic1
local oSay1,oSay2,oSay3,oSay4,oSay5
local oTruco,cTruco

Local oGroup991,oGroup995,oFont994
Local oAnm1,oAnm2,oAnm3,oAnm4,oAnm5,oAnm6
Local oPre_Pac1,oTem_Pac1,oFre_Car1,oFre_Res1,oPes_Pac1,oGet11,oNro_Bon1,oVal_Bon1
Local anm_1:= Spac(50), anm_2:= Spac(50), anm_3:= Spac(50), anm_4:= Spac(50), anm_5:= Spac(50), anm_6:= Spac(50)
Local Pes_Pac1:=space(20),Pre_Pac1:=space(20),Tem_Pac1:=space(20),Fre_Car1:=space(20),Fre_Res1:=space(20)
local oFont991


  DEFINE DIALOG oDlg99 SIZE 600,600 PIXEL TITLE "ANTECEDENTES" 

  DEFINE FONT oFont993 NAME "TAHOMA" SIZE 0,-14  BOLD
  DEFINE FONT oFont991 NAME "TAHOMA" SIZE 0,-18  BOLD
  DEFINE FONT oFont992 NAME 'TAHOMA' SIZE 0,-19  BOLD ITALIC
  DEFINE FONT oFont994 NAME "TAHOMA" SIZE 0,-14

  @ 075,15 GET oAnm1 VAR Anm_1 SIZE 204,10 PIXEL OF oDlg99 PICTURE "@!" NO BORDER  COLOR RGB(0,0,128) FONT oFont993 UPDATE
  @ 095,15 GET oAnm3 VAR Anm_3 SIZE 204,10 PIXEL OF oDlg99 PICTURE "@!" NO BORDER  COLOR RGB(0,0,128) FONT oFont993 UPDATE
  @ 115,15 GET oAnm5 VAR Anm_5 SIZE 204,10 PIXEL OF oDlg99 PICTURE "@!" NO BORDER  COLOR RGB(0,0,128) FONT oFont993 UPDATE

  ///
  @  150,10 SAY "LICENCIA [S/N]" PIXEL OF oDlg99  COLOR RGB(0, 60, 179) FONT oFont993
  @  150,73 GET oLic1  Var Lic1  SIZE 10,10  PIXEL OF oDlg99  PICTURE "@!"  COLOR RGB(0,0,128) FONT oFont993  UPDATE;
           VALID  Valida( oDlg99,Lic1,oLic1,oTruco ,;
                         {oSay1,oSay2,oSay3,oSay4,oSay5,oGroup992,;
                          oTip_Lic1, oNro_Lic1, oFec_Ini1, oFec_Fin1, oDia_Lic1} )

  @  150,-50 GET oTruco Var cTruco SIZE 10,10  PIXEL OF oDlg99 ;  //necesario cuando se ejecuta el valid y los demas objetos estan ocultos.
             VALID .T.

  @ 165,05 GROUP oGroup992  TO 220,270 PIXEL OF oDlg99 PROMPT " ANTECEDENTES LICENCIA MEDICA " FONT oFont992 TRANSPARENT
  @ 185,010 SAY oSay1 PROMPT "Tipo Licencia" PIXEL OF oDlg99   FONT oFont993
  @ 185,130 SAY oSay2 PROMPT "Nro. Licencia" PIXEL OF oDlg99   FONT oFont993
  @ 200,010 SAY oSay3 PROMPT "Inicio"        PIXEL OF oDlg99   FONT oFont993
  @ 200,95  SAY oSay4 PROMPT "Término"       PIXEL OF oDlg99   FONT oFont993
  @ 200,185 SAY oSay5 PROMPT "Cant. Dias"    PIXEL OF oDlg99   FONT oFont993

  @ 185,58  GET oTip_Lic1 VAR Tip_Lic1 SIZE 50,10 PIXEL OF oDlg99 PICTURE "!"  COLOR RGB(0,0,128) FONT oFont993 UPDATE
  @ 185,180 GET oNro_Lic1 VAR Nro_Lic1 SIZE 66,10 PIXEL OF oDlg99 PICTURE "@!" COLOR RGB(0,0,128) FONT oFont993 UPDATE
  @ 200,32  GET oFec_Ini1 VAR Fec_Ini1 SIZE 50,10 PIXEL OF oDlg99 PICTURE "@d" COLOR RGB(0,0,128) FONT oFont993 UPDATE
  @ 200,127 GET oFec_Fin1 VAR Fec_Fin1 SIZE 50,10 PIXEL OF oDlg99 PICTURE "@d" COLOR RGB(0,0,128) FONT oFont993 UPDATE;
            VALID  .T.  //Calcula_Dias(oDia_Lic1,oDlg99,Fec_Ini1,Fec_Fin1)
  @ 200,223 SAY oDia_Lic1 VAR Dia_Lic1 SIZE 20,10 PIXEL OF oDlg99 PICTURE "999" COLOR RGB(0,0,128) FONT oFont993 BORDER
  ///

  @ 248,010 SAY "Pres. Arterial"       PIXEL OF oDlg99 FONT oFont993
  @ 248,120 SAY "Frec. Respiratoria"   PIXEL OF oDlg99 FONT oFont993
  @ 263,010 SAY "Frec. Cardiaca"       PIXEL OF oDlg99 FONT oFont993
  @ 263,120 SAY "Temp"                 PIXEL OF oDlg99 FONT oFont993
  @ 263,198 SAY "Peso"                 PIXEL OF oDlg99 FONT oFont993

  @ 248,60  GET oPre_Pac1 VAR Pre_Pac1 SIZE 40,10 PIXEL OF oDlg99 PICTURE "@!" COLOR RGB(0,0,128) FONT oFont993 UPDATE
  @ 248,190 GET oFre_Res1 VAR Fre_Res1 SIZE 40,10 PIXEL OF oDlg99 PICTURE "@!" COLOR RGB(0,0,128) FONT oFont993 UPDATE
  @ 263,60  GET oFre_Car1 VAR Fre_Car1 SIZE 40,10 PIXEL OF oDlg99 PICTURE "@!" COLOR RGB(0,0,128) FONT oFont993 UPDATE
  @ 263,145 GET oTem_Pac1 VAR Tem_Pac1 SIZE 40,10 PIXEL OF oDlg99 PICTURE "@!" COLOR RGB(0,0,128) FONT oFont993 UPDATE
  @ 263,218 GET oPes_Pac1 VAR Pes_Pac1 SIZE 33,10 PIXEL OF oDlg99 PICTURE "@!" COLOR RGB(0,0,128) FONT oFont993 UPDATE  

  ACTIVATE DIALOG oDlg99 CENTERED ;
           ON INIT EVAL(oLic1:bValid)  

   oDlg99:End()

   oFont992:End()
   oFont993:End()

   oFont991:End()
   oFont994:End()

Return nil

//---------------------------------------------
Function Valida( oDlg99,Lic1,oLic1,oTruco,aObjs)
local n 

    if !Lic1 $"SN"
       MsgStop("Debe introducir 'S' o 'N'","Error")
       oLic1:SetFocus()
       Return .f.
    endif

    For n := 1 to len(aObjs)
        if Lic1 = "S" 
           aObjs[n]:Show()
        else
          aObjs[n]:Hide()
        endif
    Next

    oDlg99:Refresh()
Return .T.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh1204-MySql-TMySql
remtec
Posts: 431
Joined: Fri May 12, 2017 2:50 pm

Re: Favor Ayuda con Valid en Get URGENTE

Post by remtec »

Hola Francisco y Karinha.

Muchas gracias por su tremenda ayuda y tiempo invertido, eternamente agradecido.

Ambos Codigos de Francisco y Karinha, FUNCIONANDO PERFECTAMENTE, al codigo de Karinha le hice algunas modificaciones por lo explicado arriba encuanto a las teclas mencionadas, el ultimo codigo que me modifico Francisco, funciono de inmediato.

Desde ya muchas gracias por toda su ayuda.

Solo jamas lo hubiese logrado. Ahora a avanzar con lo que me queda del Sistema.

Muchos Saludos

Antonio.
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Favor Ayuda con Valid en Get URGENTE

Post by FranciscoA »

Me alegra mucho que nuestra colaboracion te haya sido util.
Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh1204-MySql-TMySql
Post Reply