FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Socorro!! No lo encuentro :) (Solucionado)
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Socorro!! No lo encuentro :) (Solucionado)
Posted: Fri Jun 23, 2017 02:00 PM

Busco por todos lados en el foro y se que lo vi, pero no encuentro los topics sobre como colocar la línea de gets arriba del xbrowse para incremental seek, alguien me podría tirar al menos un link?
Perdón, debe ser cosa de la edad :)

Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Socorro!! No lo encuentro :)
Posted: Fri Jun 23, 2017 02:11 PM

Busque en el foro por:

busqueda incremental con Xbrowse.

Saludos.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 196
Joined: Fri May 15, 2009 01:25 AM
Re: Socorro!! No lo encuentro :)
Posted: Fri Jun 23, 2017 02:20 PM
Jose

Yo lo hago asi :
Code (fw): Select all Collapse
DEFINE WINDOW oWChild mdichild of oApp:oWnd title "Control de Personal" ;
      from 00,00 TO 00,00 nomaximize

   DEFINE FONT  fBusca  NAME "Tahoma" SIZE 0,-12 bold     OF oDlg

   DEFINE BUTTONBAR oBar OF oWChild SIZE 40, 40 2007

   DEFINE BUTTON aoBtn[1] ;
      RESOURCE "BMP_AGREGAR" ;
      OF oBar FLAT GROUP ;
      ACTION ( f_Empleados(1), cFoto := oApp:xDatos + "Fotos\" + (cAliasPer)->numemp + ".JPG", ;
               PonFoto(oImage,cFoto,oDlg), oDlg:Update(), oBrw:refresh() ) ;      //Agrega_Empleado
      MESSAGE "Agregar un empleado" ;
      TOOLTIP "Agregar un empleado"

   DEFINE BUTTON aoBtn[2] ;
      RESOURCE "BMP_MODIFICAR" ;
      OF oBar FLAT ;
      ACTION ( f_Empleados(4), cFoto := oApp:xDatos + "Fotos\" + (cAliasPer)->numemp + ".JPG", ;
               PonFoto(oImage,cFoto,oDlg), oDlg:Update(), oBrw:refresh() ) WHEN (cAliasPer)->(LastRec()) > 0 ;      //Modifica empleado
      MESSAGE "Modificar un empleado" ;
      TOOLTIP "Modificar un empleado"

   DEFINE BUTTON aoBtn[3] ;
      RESOURCE "BMP_CONSULTAR" ;
      OF oBar FLAT ;
      ACTION ( f_Empleados(2), oBrw:refresh(), oBrw:SetFocus() ) WHEN (cAliasPer)->(LastRec()) > 0 ;      //Consulta empleado
      MESSAGE "Consultar un empleado" ;
      TOOLTIP "Consultar un empleado"

   DEFINE BUTTON aoBtn[4] ;
      RESOURCE "BASURA" ;
      OF oBar FLAT ;
      ACTION ( f_Empleados(3), oBrw:refresh(), oBrw:SetFocus() ) WHEN (cAliasPer)->(LastRec()) > 0 ;      //Elimina empleado
      MESSAGE "Eliminar un empleado" ;
      TOOLTIP "Eliminar un empleado"

   DEFINE BUTTON aoBtn[5] ;
      RESOURCE "REINGRESO32" ;
      OF oBar FLAT GROUP ;
      ACTION ( Agrega_Reingreso( @cSay1, @cSay6, oDlg ), oBrw:refresh(), oBrw:SetFocus() ) WHEN (cAliasPer)->(LastRec()) > 0 ;         //Reingreos de personal
      MESSAGE "Reingresos" ;
      TOOLTIP "Reingresos"

   DEFINE BUTTON aoBtn[6] ;
      RESOURCE "BMP_BORRAR" ;
      OF oBar FLAT ;
      ACTION ( Baja_Empleado( cSay1, oDlg), oBrw:refresh(), oBrw:SetFocus() ) WHEN (cAliasPer)->(LastRec()) > 0 ;      //Dar de baja un empleado
      MESSAGE "Dar de baja un empleado" ;
      TOOLTIP "Dar de baja un empleado"

   DEFINE BUTTON aoBtn[7] ;
      RESOURCE "IMPRE32" ;
      OF oBar FLAT GROUP ;
      ACTION ImprimeEmpleado() WHEN (cAliasPer)->(LastRec()) > 0 ;
      MESSAGE "Imprimir empleado" ;
      TOOLTIP "Imprimir empleado"

   DEFINE DIALOG oDlg RESOURCE "DLG_PERSONAL" OF oWChild TRANSPARENT

      oBrw := TXBrowse():New( oDlg )
      oBrw :CreateFromResource(500)
      oBrw :cAlias := (cAliasPer)

      oBrw :nMarqueeStyle       := MARQSTYLE_HIGHLROW
      oBrw :nColDividerStyle    := LINESTYLE_LIGHTGRAY
      oBrw :nRowDividerStyle    := LINESTYLE_LIGHTGRAY
      oBrw :lColDividerComplete := .t.
      oBrw :bClrStd    := { || If( oBrw:KeyNo() % 2 == 0, ;
                                   { CLR_BLACK, RGB( 224, 236, 255 ) }, ;
                                 { CLR_BLACK, RGB( 189, 211, 253 ) } ) }
      oBrw :bClrSel       := {|| { nRGB(  0,  0,255), aGradBarSel } }  // para barra de linea selecc cuando el control no tiene el foco
      oBrw :bClrSelFocus := { || { CLR_BLACK, aGradBarSelFocus } }     // para barra de linea selecc cuando el control tiene el foco

      oBrw :nFreeze             := 1
      oBrw :nFooterLines        := 1

      oCol := oBrw:AddCol()
      oCol:bStrData  := { || (cAliasPer)->numemp }
      oCol:cHeader   := "Empleado"
      oCol:nWidth        := 70
      oCol:nDataStrAlign := AL_LEFT
      oCol:bLClickHeader := { || CambiaIndice( cAliasPer, 1, oBrw, @cSayInd, oDlg ), oBrw:gotop() }

      oCol := oBrw:AddCol()
      oCol:bStrData := { || (cAliasPer)->nomcom}
      oCol:cHeader  := "Nombre"
      oCol:nWidth        := 300
      oCol:nDataStrAlign := AL_LEFT
      oCol:bLClickHeader := { || CambiaIndice( cAliasPer, 2, oBrw, @cSayInd, oDlg ), oBrw:gotop() }

      oBrw:bKeyChar := {|nKey| IIF(nKey=13,f_Empleados(2),) }

      oBrw:bChange := {|nKey| (cSay1 := iif(EMPTY((cAliasPer)->fecbaj), "Activo", "Baja"), ;
                               cSay2 := ALLTRIM((cAliasPer)->puesto), ;
                               cSay3 := (cAliasPer)->numemp, ;
                               cSay4 := ALLTRIM((cAliasPer)->regfed), ;
                               cSay5 := ALLTRIM((cAliasPer)->regims), ;
                               cSay6 := PoneFecha( @cSay6, oDlg), ;
                               cSay7 := DToC((cAliasPer)->fecbaj), ;
                               cFoto := oApp:xDatos + "Fotos\" + (cAliasPer)->numemp + ".JPG", ;
                               iif(!file(cFoto), (cFoto := oApp:xDatos + "Fotos\" + "nohayfoto.JPG"),), ;
                               PonFoto(oImage,cFoto,oDlg), ;
                               oDlg:Update() ) }

      oBrw:bLDblClick:= { || f_Empleados(2) }             //si hacemos doble click sobre una PERSONA la seleccinamos y cargamos sus datos en las viables que necesitamos

      oBrw:bSeek := { |c| (cAliasPer)->(DbSeek( Upper(c) )) }

   REDEFINE SAY aoSay[1] VAR cSayInd ID 700 OF oDlg UPDATE ;
      COLOR CLR_BLUE FONT fBusca

   REDEFINE SAY oSay[2] oBrw:oSeek PROMPT Upper(oBrw:cSeek) ID 701 OF oDlg UPDATE ;
      COLOR CLR_BLUE FONT fBusca

   REDEFINE SAY aoSay[1] VAR cSay1       ID 301 OF oDlg UPDATE      // status

   REDEFINE IMAGE oImage VAR cFoto       ID 601 OF oDlg UPDATE ;
      ADJUST


   REDEFINE SAY aoSay[2] VAR cSay2       ID 302 OF oDlg UPDATE       // puesto

   REDEFINE SAY aoSay[3] VAR cSay3       ID 303 OF oDlg UPDATE       // numero de empleado

   REDEFINE SAY aoSay[4] VAR cSay4       ID 304 OF oDlg UPDATE ;     // reg fed causantes
      PICTURE "@R XXXX--999999--XXX"

   REDEFINE SAY aoSay[5] VAR cSay5       ID 305 OF oDlg UPDATE ;     // reg imss
      PICTURE "@R 99--99--99--9999--9"

   REDEFINE SAY aoSay[6] VAR cSay6       ID 306 OF oDlg UPDATE       // fecha de ingreso

   REDEFINE SAY aoSay[7] VAR cSay7       ID 307 OF oDlg UPDATE       // fecha de baja

   ACTIVATE DIALOG oDlg Valid oWChild:End() nowait on init (oninit( oDlg ), PonFoto(oImage,cFoto,odlg), oBrw:gotop()); oDlg:move(0,0)
      oWChild:bgotfocus:={||oDlg:setfocus()}

   ACTIVATE WINDOW oWChild ON INIT (oWChild:setsize(oDlg:nwidth,oDlg:nheight), oWChild:Move(20,20)) ;
      VALID (DbCerrar( oWChild, cMen, 2 ))

RETURN NIL


Espero te sirva

Saludos
Juan Arroyo
México
FWH 7.12 VERCE 5.3 xHarbour 1.1.0
juan_arroyo_t@hotmail.com
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Socorro!! No lo encuentro :)
Posted: Fri Jun 23, 2017 03:40 PM
Code (fw): Select all Collapse
        :lSeekBar         := .T.
         AEVal( :aCols, { | o | o:bClrEdit := { || { CLR_RED, CLR_WHITE } } } )
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: Socorro!! No lo encuentro :)
Posted: Fri Jun 23, 2017 03:53 PM
jose_murugosa wrote:Busco por todos lados en el foro y se que lo vi, pero no encuentro los topics sobre como colocar la línea de gets arriba del xbrowse para incremental seek, alguien me podría tirar al menos un link?
Perdón, debe ser cosa de la edad :-)


Haber si sirve, saludos... :-)

viewtopic.php?f=3&t=33404&start=0&hilit=CreateFromCode
Dios no está muerto...



Gracias a mi Dios ante todo!
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Re: Socorro!! No lo encuentro :)
Posted: Fri Jun 23, 2017 05:03 PM

Gracias a todos!!!!!!

Que comunidad maravillosa..!!

La búsqueda ya la había intentado pero no aparece, pero con vuestra ayuda y mucha perseverancia entendí como funciona, gracias Cristobal por el ejemplo.

Luego de entenderlo como suele suceder, buscando otra cosa encontré el topic que buscaba, como dicen "no hay como NO necesitar algo para encontrarlo"

NUEVAMENTE GRACIAS, ya está implementado y "pistoneando" :)

Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"
Posts: 632
Joined: Tue Dec 12, 2006 07:34 PM
Re: Socorro!! No lo encuentro :)
Posted: Sat Jul 01, 2017 04:17 AM
juan_arroyo_t wrote:Jose

Yo lo hago asi :
Code (fw): Select all Collapse
DEFINE WINDOW oWChild mdichild of oApp:oWnd title "Control de Personal" ;
      from 00,00 TO 00,00 nomaximize

   DEFINE FONT  fBusca  NAME "Tahoma" SIZE 0,-12 bold     OF oDlg

   DEFINE BUTTONBAR oBar OF oWChild SIZE 40, 40 2007

   DEFINE BUTTON aoBtn[1] ;
      RESOURCE "BMP_AGREGAR" ;
      OF oBar FLAT GROUP ;
      ACTION ( f_Empleados(1), cFoto := oApp:xDatos + "Fotos\" + (cAliasPer)->numemp + ".JPG", ;
               PonFoto(oImage,cFoto,oDlg), oDlg:Update(), oBrw:refresh() ) ;      //Agrega_Empleado
      MESSAGE "Agregar un empleado" ;
      TOOLTIP "Agregar un empleado"

   DEFINE BUTTON aoBtn[2] ;
      RESOURCE "BMP_MODIFICAR" ;
      OF oBar FLAT ;
      ACTION ( f_Empleados(4), cFoto := oApp:xDatos + "Fotos\" + (cAliasPer)->numemp + ".JPG", ;
               PonFoto(oImage,cFoto,oDlg), oDlg:Update(), oBrw:refresh() ) WHEN (cAliasPer)->(LastRec()) > 0 ;      //Modifica empleado
      MESSAGE "Modificar un empleado" ;
      TOOLTIP "Modificar un empleado"

   DEFINE BUTTON aoBtn[3] ;
      RESOURCE "BMP_CONSULTAR" ;
      OF oBar FLAT ;
      ACTION ( f_Empleados(2), oBrw:refresh(), oBrw:SetFocus() ) WHEN (cAliasPer)->(LastRec()) > 0 ;      //Consulta empleado
      MESSAGE "Consultar un empleado" ;
      TOOLTIP "Consultar un empleado"

   DEFINE BUTTON aoBtn[4] ;
      RESOURCE "BASURA" ;
      OF oBar FLAT ;
      ACTION ( f_Empleados(3), oBrw:refresh(), oBrw:SetFocus() ) WHEN (cAliasPer)->(LastRec()) > 0 ;      //Elimina empleado
      MESSAGE "Eliminar un empleado" ;
      TOOLTIP "Eliminar un empleado"

   DEFINE BUTTON aoBtn[5] ;
      RESOURCE "REINGRESO32" ;
      OF oBar FLAT GROUP ;
      ACTION ( Agrega_Reingreso( @cSay1, @cSay6, oDlg ), oBrw:refresh(), oBrw:SetFocus() ) WHEN (cAliasPer)->(LastRec()) > 0 ;         //Reingreos de personal
      MESSAGE "Reingresos" ;
      TOOLTIP "Reingresos"

   DEFINE BUTTON aoBtn[6] ;
      RESOURCE "BMP_BORRAR" ;
      OF oBar FLAT ;
      ACTION ( Baja_Empleado( cSay1, oDlg), oBrw:refresh(), oBrw:SetFocus() ) WHEN (cAliasPer)->(LastRec()) > 0 ;      //Dar de baja un empleado
      MESSAGE "Dar de baja un empleado" ;
      TOOLTIP "Dar de baja un empleado"

   DEFINE BUTTON aoBtn[7] ;
      RESOURCE "IMPRE32" ;
      OF oBar FLAT GROUP ;
      ACTION ImprimeEmpleado() WHEN (cAliasPer)->(LastRec()) > 0 ;
      MESSAGE "Imprimir empleado" ;
      TOOLTIP "Imprimir empleado"

   DEFINE DIALOG oDlg RESOURCE "DLG_PERSONAL" OF oWChild TRANSPARENT

      oBrw := TXBrowse():New( oDlg )
      oBrw :CreateFromResource(500)
      oBrw :cAlias := (cAliasPer)

      oBrw :nMarqueeStyle       := MARQSTYLE_HIGHLROW
      oBrw :nColDividerStyle    := LINESTYLE_LIGHTGRAY
      oBrw :nRowDividerStyle    := LINESTYLE_LIGHTGRAY
      oBrw :lColDividerComplete := .t.
      oBrw :bClrStd    := { || If( oBrw:KeyNo() % 2 == 0, ;
                                   { CLR_BLACK, RGB( 224, 236, 255 ) }, ;
                                 { CLR_BLACK, RGB( 189, 211, 253 ) } ) }
      oBrw :bClrSel       := {|| { nRGB(  0,  0,255), aGradBarSel } }  // para barra de linea selecc cuando el control no tiene el foco
      oBrw :bClrSelFocus := { || { CLR_BLACK, aGradBarSelFocus } }     // para barra de linea selecc cuando el control tiene el foco

      oBrw :nFreeze             := 1
      oBrw :nFooterLines        := 1

      oCol := oBrw:AddCol()
      oCol:bStrData  := { || (cAliasPer)->numemp }
      oCol:cHeader   := "Empleado"
      oCol:nWidth        := 70
      oCol:nDataStrAlign := AL_LEFT
      oCol:bLClickHeader := { || CambiaIndice( cAliasPer, 1, oBrw, @cSayInd, oDlg ), oBrw:gotop() }

      oCol := oBrw:AddCol()
      oCol:bStrData := { || (cAliasPer)->nomcom}
      oCol:cHeader  := "Nombre"
      oCol:nWidth        := 300
      oCol:nDataStrAlign := AL_LEFT
      oCol:bLClickHeader := { || CambiaIndice( cAliasPer, 2, oBrw, @cSayInd, oDlg ), oBrw:gotop() }

      oBrw:bKeyChar := {|nKey| IIF(nKey=13,f_Empleados(2),) }

      oBrw:bChange := {|nKey| (cSay1 := iif(EMPTY((cAliasPer)->fecbaj), "Activo", "Baja"), ;
                               cSay2 := ALLTRIM((cAliasPer)->puesto), ;
                               cSay3 := (cAliasPer)->numemp, ;
                               cSay4 := ALLTRIM((cAliasPer)->regfed), ;
                               cSay5 := ALLTRIM((cAliasPer)->regims), ;
                               cSay6 := PoneFecha( @cSay6, oDlg), ;
                               cSay7 := DToC((cAliasPer)->fecbaj), ;
                               cFoto := oApp:xDatos + "Fotos\" + (cAliasPer)->numemp + ".JPG", ;
                               iif(!file(cFoto), (cFoto := oApp:xDatos + "Fotos\" + "nohayfoto.JPG"),), ;
                               PonFoto(oImage,cFoto,oDlg), ;
                               oDlg:Update() ) }

      oBrw:bLDblClick:= { || f_Empleados(2) }             //si hacemos doble click sobre una PERSONA la seleccinamos y cargamos sus datos en las viables que necesitamos

      oBrw:bSeek := { |c| (cAliasPer)->(DbSeek( Upper(c) )) }

   REDEFINE SAY aoSay[1] VAR cSayInd ID 700 OF oDlg UPDATE ;
      COLOR CLR_BLUE FONT fBusca

   REDEFINE SAY oSay[2] oBrw:oSeek PROMPT Upper(oBrw:cSeek) ID 701 OF oDlg UPDATE ;
      COLOR CLR_BLUE FONT fBusca

   REDEFINE SAY aoSay[1] VAR cSay1       ID 301 OF oDlg UPDATE      // status

   REDEFINE IMAGE oImage VAR cFoto       ID 601 OF oDlg UPDATE ;
      ADJUST


   REDEFINE SAY aoSay[2] VAR cSay2       ID 302 OF oDlg UPDATE       // puesto

   REDEFINE SAY aoSay[3] VAR cSay3       ID 303 OF oDlg UPDATE       // numero de empleado

   REDEFINE SAY aoSay[4] VAR cSay4       ID 304 OF oDlg UPDATE ;     // reg fed causantes
      PICTURE "@R XXXX--999999--XXX"

   REDEFINE SAY aoSay[5] VAR cSay5       ID 305 OF oDlg UPDATE ;     // reg imss
      PICTURE "@R 99--99--99--9999--9"

   REDEFINE SAY aoSay[6] VAR cSay6       ID 306 OF oDlg UPDATE       // fecha de ingreso

   REDEFINE SAY aoSay[7] VAR cSay7       ID 307 OF oDlg UPDATE       // fecha de baja

   ACTIVATE DIALOG oDlg Valid oWChild:End() nowait on init (oninit( oDlg ), PonFoto(oImage,cFoto,odlg), oBrw:gotop()); oDlg:move(0,0)
      oWChild:bgotfocus:={||oDlg:setfocus()}

   ACTIVATE WINDOW oWChild ON INIT (oWChild:setsize(oDlg:nwidth,oDlg:nheight), oWChild:Move(20,20)) ;
      VALID (DbCerrar( oWChild, cMen, 2 ))

RETURN NIL


Espero te sirva

Saludos


Hola a todos mis estimados Ingenieros, a mi me hubiera encantado y es mi PETICION que la busqueda sea con el control Get por ser mas estetico y funcional que el control say, ya que anteriormente los usuarios segun me comentan que se les hace raro que no se posicione en el focus say y eso me he dado cuenta a lo largo de los años que les deje la consulta de catalogo por el control say a mi tampoco me gusto pero funciona la busqueda...,pero bueno espero que el maestro y autor de Txbrowse el maestro Nages Rao nos pueda apoyar a que sea mas estetico la busqueda secuencial por el control Get...

Por lo que explore en el foro ya nuevas novedades y yo ando desactualizado...

Saludos

Atte: Adriano C. C.
acc69@hotmail.com
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: Socorro!! No lo encuentro :)
Posted: Sat Jul 01, 2017 02:33 PM
ACC69 wrote:
juan_arroyo_t wrote:Jose

Yo lo hago asi :
Code (fw): Select all Collapse
DEFINE WINDOW oWChild mdichild of oApp:oWnd title "Control de Personal" ;
      from 00,00 TO 00,00 nomaximize

   DEFINE FONT  fBusca  NAME "Tahoma" SIZE 0,-12 bold     OF oDlg

   DEFINE BUTTONBAR oBar OF oWChild SIZE 40, 40 2007

   DEFINE BUTTON aoBtn[1] ;
      RESOURCE "BMP_AGREGAR" ;
      OF oBar FLAT GROUP ;
      ACTION ( f_Empleados(1), cFoto := oApp:xDatos + "Fotos\" + (cAliasPer)->numemp + ".JPG", ;
               PonFoto(oImage,cFoto,oDlg), oDlg:Update(), oBrw:refresh() ) ;      //Agrega_Empleado
      MESSAGE "Agregar un empleado" ;
      TOOLTIP "Agregar un empleado"

   DEFINE BUTTON aoBtn[2] ;
      RESOURCE "BMP_MODIFICAR" ;
      OF oBar FLAT ;
      ACTION ( f_Empleados(4), cFoto := oApp:xDatos + "Fotos\" + (cAliasPer)->numemp + ".JPG", ;
               PonFoto(oImage,cFoto,oDlg), oDlg:Update(), oBrw:refresh() ) WHEN (cAliasPer)->(LastRec()) > 0 ;      //Modifica empleado
      MESSAGE "Modificar un empleado" ;
      TOOLTIP "Modificar un empleado"

   DEFINE BUTTON aoBtn[3] ;
      RESOURCE "BMP_CONSULTAR" ;
      OF oBar FLAT ;
      ACTION ( f_Empleados(2), oBrw:refresh(), oBrw:SetFocus() ) WHEN (cAliasPer)->(LastRec()) > 0 ;      //Consulta empleado
      MESSAGE "Consultar un empleado" ;
      TOOLTIP "Consultar un empleado"

   DEFINE BUTTON aoBtn[4] ;
      RESOURCE "BASURA" ;
      OF oBar FLAT ;
      ACTION ( f_Empleados(3), oBrw:refresh(), oBrw:SetFocus() ) WHEN (cAliasPer)->(LastRec()) > 0 ;      //Elimina empleado
      MESSAGE "Eliminar un empleado" ;
      TOOLTIP "Eliminar un empleado"

   DEFINE BUTTON aoBtn[5] ;
      RESOURCE "REINGRESO32" ;
      OF oBar FLAT GROUP ;
      ACTION ( Agrega_Reingreso( @cSay1, @cSay6, oDlg ), oBrw:refresh(), oBrw:SetFocus() ) WHEN (cAliasPer)->(LastRec()) > 0 ;         //Reingreos de personal
      MESSAGE "Reingresos" ;
      TOOLTIP "Reingresos"

   DEFINE BUTTON aoBtn[6] ;
      RESOURCE "BMP_BORRAR" ;
      OF oBar FLAT ;
      ACTION ( Baja_Empleado( cSay1, oDlg), oBrw:refresh(), oBrw:SetFocus() ) WHEN (cAliasPer)->(LastRec()) > 0 ;      //Dar de baja un empleado
      MESSAGE "Dar de baja un empleado" ;
      TOOLTIP "Dar de baja un empleado"

   DEFINE BUTTON aoBtn[7] ;
      RESOURCE "IMPRE32" ;
      OF oBar FLAT GROUP ;
      ACTION ImprimeEmpleado() WHEN (cAliasPer)->(LastRec()) > 0 ;
      MESSAGE "Imprimir empleado" ;
      TOOLTIP "Imprimir empleado"

   DEFINE DIALOG oDlg RESOURCE "DLG_PERSONAL" OF oWChild TRANSPARENT

      oBrw := TXBrowse():New( oDlg )
      oBrw :CreateFromResource(500)
      oBrw :cAlias := (cAliasPer)

      oBrw :nMarqueeStyle       := MARQSTYLE_HIGHLROW
      oBrw :nColDividerStyle    := LINESTYLE_LIGHTGRAY
      oBrw :nRowDividerStyle    := LINESTYLE_LIGHTGRAY
      oBrw :lColDividerComplete := .t.
      oBrw :bClrStd    := { || If( oBrw:KeyNo() % 2 == 0, ;
                                   { CLR_BLACK, RGB( 224, 236, 255 ) }, ;
                                 { CLR_BLACK, RGB( 189, 211, 253 ) } ) }
      oBrw :bClrSel       := {|| { nRGB(  0,  0,255), aGradBarSel } }  // para barra de linea selecc cuando el control no tiene el foco
      oBrw :bClrSelFocus := { || { CLR_BLACK, aGradBarSelFocus } }     // para barra de linea selecc cuando el control tiene el foco

      oBrw :nFreeze             := 1
      oBrw :nFooterLines        := 1

      oCol := oBrw:AddCol()
      oCol:bStrData  := { || (cAliasPer)->numemp }
      oCol:cHeader   := "Empleado"
      oCol:nWidth        := 70
      oCol:nDataStrAlign := AL_LEFT
      oCol:bLClickHeader := { || CambiaIndice( cAliasPer, 1, oBrw, @cSayInd, oDlg ), oBrw:gotop() }

      oCol := oBrw:AddCol()
      oCol:bStrData := { || (cAliasPer)->nomcom}
      oCol:cHeader  := "Nombre"
      oCol:nWidth        := 300
      oCol:nDataStrAlign := AL_LEFT
      oCol:bLClickHeader := { || CambiaIndice( cAliasPer, 2, oBrw, @cSayInd, oDlg ), oBrw:gotop() }

      oBrw:bKeyChar := {|nKey| IIF(nKey=13,f_Empleados(2),) }

      oBrw:bChange := {|nKey| (cSay1 := iif(EMPTY((cAliasPer)->fecbaj), "Activo", "Baja"), ;
                               cSay2 := ALLTRIM((cAliasPer)->puesto), ;
                               cSay3 := (cAliasPer)->numemp, ;
                               cSay4 := ALLTRIM((cAliasPer)->regfed), ;
                               cSay5 := ALLTRIM((cAliasPer)->regims), ;
                               cSay6 := PoneFecha( @cSay6, oDlg), ;
                               cSay7 := DToC((cAliasPer)->fecbaj), ;
                               cFoto := oApp:xDatos + "Fotos\" + (cAliasPer)->numemp + ".JPG", ;
                               iif(!file(cFoto), (cFoto := oApp:xDatos + "Fotos\" + "nohayfoto.JPG"),), ;
                               PonFoto(oImage,cFoto,oDlg), ;
                               oDlg:Update() ) }

      oBrw:bLDblClick:= { || f_Empleados(2) }             //si hacemos doble click sobre una PERSONA la seleccinamos y cargamos sus datos en las viables que necesitamos

      oBrw:bSeek := { |c| (cAliasPer)->(DbSeek( Upper(c) )) }

   REDEFINE SAY aoSay[1] VAR cSayInd ID 700 OF oDlg UPDATE ;
      COLOR CLR_BLUE FONT fBusca

   REDEFINE SAY oSay[2] oBrw:oSeek PROMPT Upper(oBrw:cSeek) ID 701 OF oDlg UPDATE ;
      COLOR CLR_BLUE FONT fBusca

   REDEFINE SAY aoSay[1] VAR cSay1       ID 301 OF oDlg UPDATE      // status

   REDEFINE IMAGE oImage VAR cFoto       ID 601 OF oDlg UPDATE ;
      ADJUST


   REDEFINE SAY aoSay[2] VAR cSay2       ID 302 OF oDlg UPDATE       // puesto

   REDEFINE SAY aoSay[3] VAR cSay3       ID 303 OF oDlg UPDATE       // numero de empleado

   REDEFINE SAY aoSay[4] VAR cSay4       ID 304 OF oDlg UPDATE ;     // reg fed causantes
      PICTURE "@R XXXX--999999--XXX"

   REDEFINE SAY aoSay[5] VAR cSay5       ID 305 OF oDlg UPDATE ;     // reg imss
      PICTURE "@R 99--99--99--9999--9"

   REDEFINE SAY aoSay[6] VAR cSay6       ID 306 OF oDlg UPDATE       // fecha de ingreso

   REDEFINE SAY aoSay[7] VAR cSay7       ID 307 OF oDlg UPDATE       // fecha de baja

   ACTIVATE DIALOG oDlg Valid oWChild:End() nowait on init (oninit( oDlg ), PonFoto(oImage,cFoto,odlg), oBrw:gotop()); oDlg:move(0,0)
      oWChild:bgotfocus:={||oDlg:setfocus()}

   ACTIVATE WINDOW oWChild ON INIT (oWChild:setsize(oDlg:nwidth,oDlg:nheight), oWChild:Move(20,20)) ;
      VALID (DbCerrar( oWChild, cMen, 2 ))

RETURN NIL


Espero te sirva

Saludos


Hola a todos mis estimados Ingenieros, a mi me hubiera encantado y es mi PETICION que la busqueda sea con el control Get por ser mas estetico y funcional que el control say, ya que anteriormente los usuarios segun me comentan que se les hace raro que no se posicione en el focus say y eso me he dado cuenta a lo largo de los años que les deje la consulta de catalogo por el control say a mi tampoco me gusto pero funciona la busqueda...,pero bueno espero que el maestro y autor de Txbrowse el maestro Nages Rao nos pueda apoyar a que sea mas estetico la busqueda secuencial por el control Get...

Por lo que explore en el foro ya nuevas novedades y yo ando desactualizado...

Saludos

Atte: Adriano C. C.
acc69@hotmail.com


Totalmente de acuerdo y tampoco soy amante del SAY como objeto para la busqueda, ya que la falta del cursor como aparece en el GET hace que los usuarios se pierdan y mas que todo cuando retroceden para corregir el texto a buscar o si se qiere mover el cursor entre letras y no borrar la palabra completa de busqueda no se puede hacer...saludos... :-)
Dios no está muerto...



Gracias a mi Dios ante todo!
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Re: Socorro!! No lo encuentro :) (Solucionado)
Posted: Tue Jul 04, 2017 02:17 PM

Gracias a todos por sus aportes!!!!! MUUUUUUCHAS GRACIAS. :D

Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"

Continue the discussion