No se ejecuta bGotFocus a la primera

Post Reply
User avatar
jvtecheto
Posts: 357
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

No se ejecuta bGotFocus a la primera

Post by jvtecheto »

Hola amigos :

Este codigo de abajo, cuando llega normalmente a su get no se ejecuta el bGotfocus , solo se ejecuta si posteriormente pulso Enter y me situo en el Get

Code: Select all

REDEFINE GET oNormal VAR nNormal ID 104 OF oDlg PICTURE "99,999.99" UPDATE
oNormal:bGotFocus := {|| IF(lAppend,(nPre_normal:=AputTrab->hora,nPre_extra:=AputTrab->extra,oDlg:UPDATE()), )}
 
Que hago mal ?.

Que necesito para que se ejecute a la primera

Gracias por vuestra ayuda.

Saludos

Jose.
Fwh 19.06 32 bits + Harbour 3.2dev(r2011030937)+ Borland 7.4 + FivEdit
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Re: No se ejecuta bGotFocus a la primera

Post by Armando »

jvetecheto:

Cambia a SET en lugar de GOT, si entiendo bien el bGotFocus es para saber si el get tiene el foco.

oNormal:bSetFocus

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
jvtecheto
Posts: 357
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Re: No se ejecuta bGotFocus a la primera

Post by jvtecheto »

Hola Armando.

Me da error clase TGet el mensaje no existe bSetFocus

??

Saludos.
Fwh 19.06 32 bits + Harbour 3.2dev(r2011030937)+ Borland 7.4 + FivEdit
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: No se ejecuta bGotFocus a la primera

Post by cnavarro »

Jose, tu código es correcto, otro tema es por qué no se ejecuta correctamente el bGotFocus
Puedes poner tu rc ?
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
User avatar
armando.lagunas
Posts: 340
Joined: Mon Oct 05, 2009 3:35 pm
Location: Curico-Chile
Contact:

Re: No se ejecuta bGotFocus a la primera

Post by armando.lagunas »

Code: Select all

oNormal:bGotFocus := {|| IF(lAppend,(nPre_normal:=AputTrab->hora,nPre_extra:=AputTrab->extra,oDlg:UPDATE()), )}

lo único que veo acá es que la variable lAppend debe venir con un valor .f. al principio o en el transcurso y por eso no se ejecuta la condición del :bGotFocus
revisa el estado de la variable hasta llegar al Get correspondiente.

Saludos
MGA
Posts: 1219
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá
Contact:

Re: No se ejecuta bGotFocus a la primera

Post by MGA »

on init(eval(oNormal:bGotFocus))
ubiratanmga@gmail.com

FWH17.04
FWPPC
Harbour/xHarbour
xMate
Pelles´C
TDolphin
User avatar
karinha
Posts: 4882
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: No se ejecuta bGotFocus a la primera

Post by karinha »

João Santos - São Paulo - Brasil
User avatar
jvtecheto
Posts: 357
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Re: No se ejecuta bGotFocus a la primera

Post by jvtecheto »

cnavarro wrote:Jose, tu código es correcto, otro tema es por qué no se ejecuta correctamente el bGotFocus
Puedes poner tu rc ?
Hola Cristobal:

rc del dialogo en cuestion.

Code: Select all


LANGUAGE 10, 3
APUTRAB DIALOG 26, 46, 261, 242
STYLE DS_3DLOOK | DS_MODALFRAME | DS_SETFONT | WS_CAPTION | WS_POPUP | WS_SYSMENU
CAPTION "APUNTES DE OBRA"
FONT 10, "Arial"
{
    EDITTEXT        101, 80, 16, 45, 12, 0, WS_EX_LEFT
    EDITTEXT        102, 80, 36, 25, 12, 0, WS_EX_LEFT
    EDITTEXT        103, 91, 71, 25, 12, 0, WS_EX_LEFT
    EDITTEXT        104, 19, 113, 35, 12, 0, WS_EX_LEFT
    EDITTEXT        106, 70, 113, 34, 12, 0, WS_EX_LEFT
    EDITTEXT        105, 19, 145, 35, 12, 0, WS_EX_LEFT
    EDITTEXT        107, 70, 145, 34, 12, 0, WS_EX_LEFT
    EDITTEXT        110, 182, 165, 41, 12, 0, WS_EX_LEFT
    LTEXT           "", 10, 120, 40, 124, 8, SS_LEFT, WS_EX_LEFT
    LTEXT           "", 20, 117, 75, 118, 8, SS_LEFT, WS_EX_LEFT
    LTEXT           "FECHA", 65535, 19, 18, 25, 10, SS_LEFT, WS_EX_LEFT
    LTEXT           "OBRA", 65535, 19, 40, 32, 8, SS_LEFT, WS_EX_LEFT
    LTEXT           "TRABAJADOR", 65535, 19, 75, 49, 8, SS_LEFT, WS_EX_LEFT
    LTEXT           "H.NORMAL", 65535, 19, 101, 37, 8, SS_LEFT, WS_EX_LEFT
    LTEXT           "H.EXTRA", 65535, 19, 132, 36, 8, SS_LEFT, WS_EX_LEFT
    LTEXT           "PRECIO", 65535, 70, 101, 31, 8, SS_LEFT, WS_EX_LEFT
    LTEXT           "PRECIO", 65535, 70, 132, 31, 8, SS_LEFT, WS_EX_LEFT
    LTEXT           "I.HORAS NORMAL", 65535, 118, 101, 63, 8, SS_LEFT, WS_EX_LEFT
    LTEXT           "I.HORAS EXTRAS", 65535, 118, 132, 63, 8, SS_LEFT, WS_EX_LEFT
    LTEXT           "PRIMAS", 65535, 118, 169, 33, 8, SS_LEFT, WS_EX_LEFT
    LTEXT           "TOTAL", 65535, 118, 187, 28, 8, SS_LEFT, WS_EX_LEFT
    LTEXT           "", 50, 178, 187, 45, 8, SS_LEFT, WS_EX_LEFT
    LTEXT           "", 30, 181, 117, 42, 8, SS_LEFT, WS_EX_LEFT
    LTEXT           "", 40, 179, 149, 44, 8, SS_LEFT, WS_EX_LEFT
    GROUPBOX        "", 4001, 12, 4, 232, 57, 0, WS_EX_LEFT
    GROUPBOX        "", 4002, 12, 64, 233, 25, 0, WS_EX_LEFT
    GROUPBOX        "", 4003, 12, 92, 232, 113, 0, WS_EX_LEFT
    PUSHBUTTON      "", 750, 108, 212, 55, 17, BS_BITMAP, WS_EX_LEFT
    PUSHBUTTON      "", 751, 188, 212, 55, 17, BS_BITMAP, WS_EX_LEFT
    PUSHBUTTON      "", 140, 56, 16, 12, 12, BS_BITMAP, WS_EX_LEFT
    PUSHBUTTON      "", 150, 56, 36, 12, 12, BS_BITMAP, WS_EX_LEFT
    PUSHBUTTON      "", 160, 72, 72, 12, 12, BS_BITMAP, WS_EX_LEFT
}


Saludos 

Jose.
 
Fwh 19.06 32 bits + Harbour 3.2dev(r2011030937)+ Borland 7.4 + FivEdit
User avatar
jvtecheto
Posts: 357
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Re: No se ejecuta bGotFocus a la primera

Post by jvtecheto »

armando.lagunas wrote:

Code: Select all

oNormal:bGotFocus := {|| IF(lAppend,(nPre_normal:=AputTrab->hora,nPre_extra:=AputTrab->extra,oDlg:UPDATE()), )}

lo único que veo acá es que la variable lAppend debe venir con un valor .f. al principio o en el transcurso y por eso no se ejecuta la condición del :bGotFocus
revisa el estado de la variable hasta llegar al Get correspondiente.

Saludos
Humm. creo que no es porque si le quito la condicion tiene el mismo comportamiento, de todas formas investigo el asunto.

Saludos.

Jose.
Fwh 19.06 32 bits + Harbour 3.2dev(r2011030937)+ Borland 7.4 + FivEdit
User avatar
jvtecheto
Posts: 357
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Re: No se ejecuta bGotFocus a la primera

Post by jvtecheto »

Hola:

Creo que he detectado cuando falla el bGotFocus, si lo pruebo en otro Get funciona perfectamente creo que el problema es la validacion del Get anterior
Mirad el codigo.

Code: Select all


   REDEFINE GET oTrab VAR cTrab ID 103 OF oDlg PICTURE "9999" ;
   VALID  IF( AputTrab->( dbSeek( cTrab ) ), ( oDlg:UPDATE(),.T. ), ;
         ( cTrab := Busqueda( "Trab" ), AputTrab->( dbSeek( cTrab ) ), oDlg:UPDATE(), .T. ) )  UPDATE
   REDEFINE GET oNormal VAR nNormal ID 104 OF oDlg PICTURE "99,999.99" UPDATE
   oNormal:bGotFocus := {|| IF(lAppend,(nPre_normal:=AputTrab->hora,nPre_extra:=AputTrab->extra,oDlg:UPDATE()), )} // No funciona.
   REDEFINE GET oPre_normal VAR nPre_normal ID 106 OF oDlg PICTURE "@E 99,999.99" ;
    VALID(oDlg:Update(),.T.) UPDATE
    REDEFINE GET oExtra VAR nExtra ID 105 OF oDlg PICTURE "99,999.99" UPDATE
    oExtra:bGotFocus := {|| IF(lAppend,(nPre_extra:=AputTrab->extra,oDlg:UPDATE()), )} // Si funciona
    REDEFINE GET oPre_extra VAR nPre_extra ID 107 OF oDlg PICTURE "@E 99,999.99" ;
    VALID(oDlg:Update(),.T.) UPDATE
    REDEFINE GET oPrimas VAR nPrimas ID 110 OF oDlg PICTURE "@E 99,999.99" ;
    VALID(oDlg:Update(),.T.) UPDATE

 
Este codigo comprueba si existe el registro y de no existir llama a la funcion busqueda que presenta un cuadro de dialogo para
elegir el que queremos.

El problema esta en este codigo, el cual me funciona bien.

Code: Select all

REDEFINE GET oTrab VAR cTrab ID 103 OF oDlg PICTURE "9999" ;
   VALID  IF( AputTrab->( dbSeek( cTrab ) ), ( oDlg:UPDATE(),.T. ), ;
         ( cTrab := Busqueda( "Trab" ), AputTrab->( dbSeek( cTrab ) ), oDlg:UPDATE(), .T. ) )  UPDATE
 
Que tengo que cambiar en este codigo para que me funcione el siguiente bGotFocus() ?

Saludos.

Jose.
Fwh 19.06 32 bits + Harbour 3.2dev(r2011030937)+ Borland 7.4 + FivEdit
Post Reply