#include "Fivewin.Ch"
#include "Ord.Ch" // PARA SCOPES()
FUNCTION ACTUALIZA()
LOCAL oFont1, oFont2 // etc
LOCAL Rut_Pac1 := Spac( 12 )
Abre_dbf( "GeneCoti", 3, .F. , "GeneC" ) // COMO ESTA LA APERTURA?
SET INDEX TO GeneCoti // NTX?
DbSetorder( 2 ) // ESTA CORRECTO EL INDICE? SET ORDER TO 2
cAlias := ALIAS() // "GeneC"
( cAlias )->( OrdScope( 0, Rut_Pac1 ) )
( cAlias )->( OrdScope( 1, Rut_Pac1 ) )
( cAlias )->( DbGotop() )
Define Font oFont1 Name "Arial" Size 0, 25 BOLD
Define Font oFont2 Name "Arial" Size 0, - 14 BOLD
Gra := 0
DEFINE DIALOG oDlgBus RESOURCE "BUSCA_COTI" STYLE nOr( WS_POPUP, WS_VISIBLE, WS_DLGFRAME ) COLORS RGB( 138, 4, 4 )
REDEFINE SAY oSay1 ID 4004 PROMPT "COTIZACIONES REALIZADAS" OF oDlgBus FONT oFont1 COLORS RGB( 56, 76, 170 )
REDEFINE SAY oSay3 ID 4011 PROMPT "Rut Paciente" OF oDlgBus FONT oFont2 RIGHT
REDEFINE SAY oSay4 ID 4005 PROMPT "Nombre" OF oDlgBus FONT oFont2 RIGHT
// Este Get es el encargado de Actualizar el Xbrowse
Redefine GET oRut VAR Rut_Pac1 ID 4008 PICTURE "@R ##.###.####!" FONT oFont2 OF oDlgBus COLOR RGB( 0, 0, 128 ), RGB( 159, 233, 255 );
WHEN ( oRut:oGet:Picture := "@KR #########!", .T. );
VALID If( Vrut( { oRut },Rut_Pac1 ), ( oRut:oGet:Picture := "@R ##.###.####!", oRut:Refresh(),oBrw:Refresh(), .T. ), .F. )
Redefine SAY oNom Var Nom_Pac1 Id 4012 Of oDlgBus Update PICTURE "@!" FONT oFont2 COLOR RGB( 0, 0, 128 ), RGB( 159, 233, 255 )
REDEFINE BTNBMP oBtn1 ID 4007 PROMPT "VOLVER" Resource "#8002" 2007 FONT oFont2 OF oDlgBus MESSAGE "VOLVER Y NO GRABA" ;
ACTION ( oDlgBus:END() )
REDEFINE XBROWSE oBrw OF oDlgBus ALIAS "GeneC" ID 4001;
HEADERS 'Folio', 'Fecha', 'Digita', 'Hora';
FIELDS GeneC->Nro_Cot, ctod( GeneC->Fec_Cot ), GeneC->Cod_Dig, GeneC->Hor_Dig;
COLSIZES 70, 90, 60, 60;
PICTURES '@!', '@D', '@!', '@!';
FONT oFont2;
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
AEval( oBrw:aCols, { |o| o:nHeadStrAlign := AL_CENTER } )
oDlgBus:bStart := { || oBrw:Gotop() }
oBrw:bClrStd := { || If( Eval( oBrw:bKeyNo,,oBrw ) % 2 == 0, { CLR_BLACK, RGB( 198, 255, 198 ) }, ;
{ CLR_BLACK, RGB( 232, 255, 232 ) } ) } // Efecto Cebra
oBrw:Seek( "" )
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 := .T.
oBrw:lSeekWild := .F. // .T. Busca Contenido, .F. Que comience con lo que digita
oBrw:nColorPen := CLR_RED
oBrw:bChange := {|| oBrw:Refresh() }
RETURN NIL
FUNCTION cPicture_Get() // aqui la mascara del GET. Cambie para tu ejemplo.
IF cTipo = "J" .AND. oGet:cPicture != "@R 99.999.999/9999-99"
cCgc := Space( 14 )
oGet:cPicture := "@R 99.999.999/9999-99"
oGet:oGet:Picture := "@R 99.999.999/9999-99"
oGet:Refresh()
ELSEIF cTipo = "F" .AND. oGet:cPicture != "@R 999.999.999-99"
cCgc := Space( 11 )
oGet:cPicture := "@R 999.999.999-99"
oGet:oGet:Picture := "@R 999.999.999-99"
oGet:Refresh()
ENDIF
RETURN( .T. )