Socorro!! No lo encuentro :) (Solucionado)

Socorro!! No lo encuentro :) (Solucionado)

Postby jose_murugosa » Fri Jun 23, 2017 2: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 :)
Last edited by jose_murugosa on Fri Jun 23, 2017 5:04 pm, edited 1 time in total.
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
User avatar
jose_murugosa
 
Posts: 1181
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Re: Socorro!! No lo encuentro :)

Postby karinha » Fri Jun 23, 2017 2:11 pm

Busque en el foro por:

busqueda incremental con Xbrowse.

Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7872
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Socorro!! No lo encuentro :)

Postby juan_arroyo_t » Fri Jun 23, 2017 2:20 pm

Jose

Yo lo hago asi :
Code: Select all  Expand view  RUN
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
User avatar
juan_arroyo_t
 
Posts: 196
Joined: Fri May 15, 2009 1:25 am
Location: Cuautitlán, Mexico

Re: Socorro!! No lo encuentro :)

Postby cnavarro » Fri Jun 23, 2017 3:40 pm

Code: Select all  Expand view  RUN

        :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
User avatar
cnavarro
 
Posts: 6552
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Socorro!! No lo encuentro :)

Postby joseluisysturiz » Fri Jun 23, 2017 3: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... :shock:

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

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: Socorro!! No lo encuentro :)

Postby jose_murugosa » Fri Jun 23, 2017 5: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 y el teclado y la IA!!"
User avatar
jose_murugosa
 
Posts: 1181
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Re: Socorro!! No lo encuentro :)

Postby ACC69 » Sat Jul 01, 2017 4:17 am

juan_arroyo_t wrote:Jose

Yo lo hago asi :
Code: Select all  Expand view  RUN
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
ACC69
 
Posts: 632
Joined: Tue Dec 12, 2006 7:34 pm

Re: Socorro!! No lo encuentro :)

Postby joseluisysturiz » Sat Jul 01, 2017 2:33 pm

ACC69 wrote:
juan_arroyo_t wrote:Jose

Yo lo hago asi :
Code: Select all  Expand view  RUN
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... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: Socorro!! No lo encuentro :) (Solucionado)

Postby jose_murugosa » Tue Jul 04, 2017 2: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 y el teclado y la IA!!"
User avatar
jose_murugosa
 
Posts: 1181
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 86 guests