Ayuda, Seleccion con ENTER en Xbrowse

Ayuda, Seleccion con ENTER en Xbrowse

Postby remtec » Fri Jan 10, 2020 3:12 pm

Hola Amigos,

Tengo un problema en Xbrowse, uso 2 Xbrowse unidos, en uno tengo una lista de Examenes, que debo seleccion y pasarlos al segundo Xbrowse.

El problema se produce que solo me funciona al hacer dobleClick, esto lleva el Codigo al segundo Xbrowse, pero al dar ENTER, sobre el examen seleccionado, este no va a la Funcion que realiza la grabacion en el segundo Xbrowse.

Muchos Saludos
Antonio.

Dejo El Codigo:
Code: Select all  Expand view

Function  Buscar_Cod_Nue(Tip_Ate1,Tip_Pag1,aCodigos,Can_Cod1,Val_Tot1)

   local oDlg33, oBrw, oFont, oCol,otitu,oFont1,otitu1 ,oFont7,oBrw2,otitu2,oDlg4,oFont2,oBot1,oBot2
     Local oSay5,oSay6,otitu6
     Local cNom,cCod
     Sele Aran
     DbSetorder(2)

     Seek Tip_Ate1+Tip_Pag1
     If Eof()
         MsgStop( "No Se Encontro Arancel Para Tipo Examen "+Tip_Ate1+" y Tipo Pago  "+Tip_Pag1)
         Return .f.
     Endif

     If Tip_Pag1 # Tip_Pag2  .or. Tip_Ate1 # Tip_Ate2
            Tip_Pag2:=Tip_Pag1
            Tip_Ate2:=Tip_Ate1
            aArancel := {}

            Do While (Tip_Ate=Tip_Ate1.and.Tip_Pag=Tip_Pag1).and.!Eof()
                Aadd(aArancel, { Aran->Cod_Ara,Aran->Nom_Ara,Aran->Val_Bon})
              DbSkip()
            EndDo
     Endif

   DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-14
     DEFINE FONT oFont1 NAME 'TAHOMA' SIZE 0,24   BOLD
     DEFINE FONT oFont2 NAME "TAHOMA" SIZE 0,-12  BOLD
     DEFINE FONT oFont7 NAME "TAHOMA" SIZE 0,-14  BOLD

   DEFINE DIALOG oDlg33 RESOURCE "#1005"     FONT oFont

     REDEFINE SAY otitu PROMPT " MAESTRO DE ARANCEL "  ID 4004 OF oDlg33 COLORS RGB(12, 135, 27)   FONT oFont1


   REDEFINE XBROWSE oBrw  OF oDlg33 DATASOURCE aArancel  ID 4001;
            HEADERS 'Código', 'Nombre de Examen';
            COLUMNS 1, 2;
            PICTURES "@!","@!" ;
            COLSIZES 90, 335;
      CELL LINES AUTOSORT NOBORDER;
                             oBrw:nMarqueeStyle := MARQSTYLE_HIGHLROW
                             oBrw:nColDividerStyle := LINESTYLE_RAISED
                             oBrw:nRowDividerStyle := LINESTYLE_RAISED
                                 oBrw:bClrHeader := {|| { nRGB(140, 0, 0), nRGB( 231, 242, 255 ), } }
                                 oBrw:nOpacity    := 230
                                 oBrw:nHeaderHeight      := 35
                                 oBrw:nFreeze       := 2
                                 oBrw:aCols[1]:oHeaderFont:= oFont7
                                 oBrw:aCols[2]:oHeaderFont:= oFont7
                                 oCol := oBrw:aCols[ 2 ]
                                 ocol:cToolTip:="Clique para ordenar por NOMBRE"

                                 oDlg33:bStart:={ || oBrw:Gotop() }

                                 oBrw:lSeekBar:= .t.       // Permite Añadir Fila de Busqueda en Xbrowse


                                 oCol := oBrw:aCols[ 1 ]
                                 ocol:cToolTip:="Clique para ordenar por CODIGO"


                                oBrw:bClrStd  := { || If( Eval( oBrw:bKeyNo,,oBrw1) % 2 == 0, { CLR_BLACK, RGB( 198, 255, 198 ) },;
                                 { CLR_BLACK, RGB( 232, 255, 232 ) } ) }    // Efecto Cebra
                                 oBrw:aCols[ 1 ]:oDataFont := oFont7
                                 oBrw:aCols[ 2 ]:oDataFont := oFont7


                                 oBrw:aCols[ 2 ]:SetOrder()

                                 oBrw:bClrStd             := {|| { nRGB(  0,  0,  0), nRGB(255,248,220) } }
                                 oBrw:bClrSelFocus        := {|| { nRGB(  255,  255,  255), nRGB(102, 178, 255) } }
                                 oBrw:bClrSel       := {|| { nRGB(  0,  0,255), nRGB(241,222,088) } }  // para barra de linea selecc cuando el control no tiene el foco
                                oBrw:lAutoSort := .t.
                                oBrw:lFooter := .f.
                                oBrw:lHScroll := .f.
                            oBrw:lIncrFilter      := .F.
                            oBrw:lSeekWild        := .F.                   &&  .T. Busca Contenido, .F. Que comience con lo que digita
                                oBrw:SetStyle( 2018)
                                oBrw:nColorPen := CLR_RED
                                oBrw:bChange := {|| oBrw:Refresh() }
                                //OBrw:bClrEdits := { || { CLR_HRED, FLC_YELLOW} }

   WITH OBJECT oBrw
                 :aCols[1]:bLClickHeader := {|| oBrw:Seek( "" ), oBrw:cFilterFld := "Código", oBrw:nColSel := 1, oBrw:GoTop() }
             :aCols[2]:bLClickHeader := {|| oBrw:Seek( "" ), oBrw:cFilterFld := "Nombre de Examen", oBrw:nColSel := 2, oBrw:GoTop() }

                    :bKeyDown:={|nKey| iif(nKey=32.or.nKey=VK_RETURN, Agre_Codi(Tip_Ate1,Tip_Pag1,aArancel,aCodigos, oBrw:nArrayAt,@Can_Cod1,@Val_Tot1),(oSay3:Refresh(),oSay4:Refresh(), oSay5:Refresh(),oSay6:Refresh(),oBrw2:Refresh()))}    // <----- Esta linea No Funciona.


                    :bLDblClick:={||(Agre_Codi(Tip_Ate1,Tip_Pag1,aArancel,aCodigos, oBrw:nArrayAt,@Can_Cod1,@Val_Tot1)), oSay3:Refresh(),oSay4:Refresh(), oSay5:Refresh(),oSay6:Refresh(),oBrw2:Refresh()}  // <---- Esta linea SI Funciona.

                   :bChange    := { || oBrw2:GoTop(),  oSay3:Refresh(),oSay4:Refresh(), oBrw2:Refresh()}


   END


     REDEFINE BTNBMP ID 4002 PROMPT "SALIR" OF oDlg33  ADJUST 2007  FONT oFont7  NOBORDER ;
                            ToolTip  "VOLVER A LA PANTALLA ANTERIOR";
                                ACTION prueba8()
                                //ACTION (oDlg33:END())

     REDEFINE SAY otitu2 PROMPT " EXAMENES SELECCIONADOS"  ID 4006 OF oDlg33 COLORS RGB(43, 59, 109)   FONT oFont1

   REDEFINE XBROWSE oBrw2  ID 4005 OF oDlg33 DATASOURCE aCodigos FONT oFont2;
                        HEADERS 'Codigo','Nombre del Examen','Canti','Precio','Total';
                      COLUMNS 1, 2,3,4,5;
                        COLSIZES 70, 280, 50, 65, 80;
                        PICTURES '@!','@!','9999','9,999,999','9,999,999';
                CELL LINES AUTOSORT NOBORDER;

                         WITH OBJECT oBrw2
                             oBrw2:nMarqueeStyle := MARQSTYLE_HIGHLROW
                             oBrw2:nColDividerStyle := LINESTYLE_RAISED
                             oBrw2:nRowDividerStyle := LINESTYLE_RAISED
                                 oBrw2:nFooterLines:=1

                                 oBrw2:bClrHeader := {|| { nRGB(000,000,000), nRGB(128,255,128) } }
                                 oBrw2:bClrStd  := { || If( Eval( oBrw2:bKeyNo,,oBrw2) % 2 == 0, { CLR_BLACK, RGB( 198, 255, 198 ) },;
                                 { CLR_BLACK, RGB( 232, 255, 232 ) } ) }    // Efecto Cebra

                                 oBrw2:nOpacity    := 230
                                 oBrw2:nHeaderHeight      := 35
                                 oBrw2:nFreeze       := 5

                                 oBrw2:aCols[ 1 ]:oDataFont := oFont7
                                oBrw2:lAutoSort := .t.
                                oBrw2:lFooter := .T.
                                oBrw2:lHScroll := .f.
                                oBrw2:SetStyle( 2007)
                                oBrw2:nColorPen := CLR_RED
                              oBrw2:bChange := {|| oBrw2:Refresh() }
                                oCol := oBrw2:aCols[ 3 ]
                                ocol:cToolTip:="Clique para Modificar Cantidad"


                                 oBrw2:aCols[01]:bFooter   := { || Ltrim( Str( oBrw2:KeyNo() ) ) + " / " + LTrim( Str( oBrw2:KeyCount() ) ) }

                                 oBrw2:aCols[3]:bClrHeader := { || { CLR_HRED,CLR_WHITE } }
                                 oBrw2:aCols[5]:bClrHeader := { || { CLR_HRED,CLR_WHITE } }

                              oBrw2:aCols[ 5 ]:cEditPicture  :=  "@E 999,999,999"
                            END WITH

                        WITH OBJECT oBrw2:aCols[3]
                            :cEditPicture  := "999"
                            :nEditType     := EDIT_GET
                            :bEditValid    := { |oGet| oGet:VarGet() > 0 }
                            :bOnPostEdit   := { | oCol, xVal, nKey | If( nKey == VK_RETURN ,;
                                               ( oCol:value := xVal ,;
                                                 totalinea( oBrw2,@Can_Cod1,@Val_Tot1),  oSay5:Refresh(),oSay6:Refresh(),oBrw2:Refresh()), ) }

                        END WITH


        REDEFINE SAY otitu3 PROMPT "TOTAL  -->"  ID 4008 OF oDlg33 COLORS RGB(12, 135, 27) RIGHT FONT oFont7

        REDEFINE SAY oSay5 Var Can_Cod1 ID 4007   OF oDlg33   PICTURE "99,999"    COLOR RGB(0,0,128)  RIGHT  FONT oFont7  BORDER

        REDEFINE SAY oSay6 Var Val_Tot1  ID 303  OF oDlg33   PICTURE "999,999,999"    COLOR RGB(0,0,128)  RIGHT  FONT oFont7  BORDER


   REDEFINE BTNBMP ID 4003 PROMPT "ELIMINAR" OF oDlg33  2007  FONT oFont7 C;
                    ToolTip  "ELIMINA REGISTRO";
                    ACTION (delrow( oBrw2,@Can_Cod1,@Val_Tot1 ), oSay5:Refresh(),oSay6:Refresh(),oBrw2:Refresh())



   ACTIVATE DIALOG oDlg33 CENTERED


     RELEASE FONT oFont,oFont1,oFont7


     Return nil

 
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 717
Joined: Fri May 12, 2017 2:50 pm

Re: Ayuda, Seleccion con ENTER en Xbrowse

Postby artu01 » Fri Jan 10, 2020 3:43 pm

Hola remtec:
pon una bandera con msgalert(nkey) dentro del keydown para que verifiques si llega alli, ademas esta todo junto la sentencia:
Code: Select all  Expand view

nKey=32.or.nKey=VK_RETURN
 

prueba asi:
Code: Select all  Expand view

nKey=32 .or. nKey=VK_RETURN
 
fwh 17.12, harbour 3.2.0, pelles C, bcc7, Ms-Sql
artu01
 
Posts: 397
Joined: Fri May 11, 2007 8:20 pm
Location: Lima

Re: Ayuda, Seleccion con ENTER en Xbrowse

Postby Armando » Fri Jan 10, 2020 3:57 pm

Remtec:

Tal vez te falta recibir un parámetro (nFlags), mira el ejemplo siguiente
que a mi me funciona de 100.

Code: Select all  Expand view

                oBrw:bKeyDown               := { | nKey, nFlags | IIF(nKey == VK_DELETE,DltWrk(oDlg,oBrw,aGets),)}
 


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
Armando
 
Posts: 3061
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Ayuda, Seleccion con ENTER en Xbrowse

Postby remtec » Fri Jan 10, 2020 4:34 pm

Armando wrote:Remtec:

Tal vez te falta recibir un parámetro (nFlags), mira el ejemplo siguiente
que a mi me funciona de 100.

Code: Select all  Expand view

                oBrw:bKeyDown               := { | nKey, nFlags | IIF(nKey == VK_DELETE,DltWrk(oDlg,oBrw,aGets),)}
 


Saludos

Hola Armando,

Muchas gracias por responder.

Lo extra;os que los mismo parametros que funcionan el Doble Click, con Enter no Funcionan.

Muchos Saludos
Antonio

Code: Select all  Expand view

:bKeyDown:={|nKey| iif(nKey=32 .or. nKey=VK_RETURN, Agre_Codi(Tip_Ate1,Tip_Pag1,aArancel,aCodigos, oBrw:nArrayAt,@Can_Cod1,@Val_Tot1),(oSay3:Refresh(),oSay4:Refresh(), oSay5:Refresh(),oSay6:Refresh(),oBrw2:Refresh()))}    // <----- Esta linea No Funciona.


:bLDblClick:={||(Agre_Codi(Tip_Ate1,Tip_Pag1,aArancel,aCodigos, oBrw:nArrayAt,@Can_Cod1,@Val_Tot1)), oSay3:Refresh(),oSay4:Refresh(), oSay5:Refresh(),oSay6:Refresh(),oBrw2:Refresh()}  // <---- Esta linea SI Funciona.
 
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 717
Joined: Fri May 12, 2017 2:50 pm

Re: Ayuda, Seleccion con ENTER en Xbrowse

Postby artu01 » Fri Jan 10, 2020 5:51 pm

Hola,
haz verificado cuanto devuelve nkey?
fwh 17.12, harbour 3.2.0, pelles C, bcc7, Ms-Sql
artu01
 
Posts: 397
Joined: Fri May 11, 2007 8:20 pm
Location: Lima

Re: Ayuda, Seleccion con ENTER en Xbrowse

Postby FranciscoA » Fri Jan 10, 2020 10:01 pm

Antonio, intenta asi:
Code: Select all  Expand view
 :bLDblClick:={|| Agre_Codi(Tip_Ate1,Tip_Pag1,aArancel,aCodigos, oBrw:nArrayAt,@Can_Cod1,@Val_Tot1), oSay3:Refresh(),oSay4:Refresh(), oSay5:Refresh(),oSay6:Refresh(),oBrw2:Refresh()}  

  :bKeyDown:={|nKey| iif(nKey == VK_RETURN, Eval(oBrw:bLDblClick),)}

Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

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

Re: Ayuda, Seleccion con ENTER en Xbrowse

Postby remtec » Fri Jan 10, 2020 10:16 pm

Hola Francisco,

Como estas?

Como siempre, eres un genio, Funciono PERFECTO.

Muchas gracias y Muchos Saludos.

Antonio
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 717
Joined: Fri May 12, 2017 2:50 pm

Re: Ayuda, Seleccion con ENTER en Xbrowse

Postby remtec » Fri Jan 10, 2020 10:18 pm

Muchas gracias a Artu01 y Armando.

Muchos saludos

Antonio
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 717
Joined: Fri May 12, 2017 2:50 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 85 guests