#INCLUDE "FIVEWIN.Ch"
#include "xbrowse.ch"
#include "ADS.CH"
REQUEST HB_LANG_ES
REQUEST DBFCDX, DBFFPT
REQUEST ADS,ADSKeyCount,ADSKeyNo,OrdKeyCount,OrdKeyNo, AdsGetRelKeyPos, AdsSetRelKeyPos,DBFCDX
Function PruebaADS()
local cCarpetaInstalacion:="\\Asus\d\VERCE\RJCTaller" , cFechaDesde:="01/01/1976" , cFechaHasta:="01/07/2012"
local cServer := cCarpetaInstalacion+"\DBF's\"
local lConect:=.f. , oBrush , oCur1
cConsulta1:="Select {static} TALON, NOMBRE, DIRECCION, LOCALIDAD, BARRIO, CODPOSTAL, TELEFONO1, TELEFONO2, "+;
"CELULAR, EMAIL, ARTEFACTO, MARCA, MODELO, SERIE, UBICADO, FECHAIN, "+ ;
"FECHALIQUI, FINALIZADO, RETIRO, FECHA_COM, DETALLECL, DETALLETA, "+;
"ESTADO, DEALER, GARANTIZA, STATUS from TRABAJOS where "+;
"(FECHAIN>='"+cFechaDesde+"' and FECHAIN<='"+cFechaHasta+"'"+;
" or "+;
"FECHALIQUI>='"+cFechaDesde+"' and FECHALIQUI<='"+cFechaHasta+"'"+;
" or "+;
"RETIRO>='"+cFechaDesde+"' and RETIRO<='"+cFechaHasta+"')"
ADSSETDATEFORMAT("DD/MM/YYYY") // agregado por sugerencia foro fwh
RddRegister("ADS",1)
RddSetDefault("ADS")
AdsSetServerType ( 2 )
SET FILETYPE TO CDX
DbSelectArea( 0 ) // agregado por MArio
AdsConnect( cServer , 2 )
IF ! ADSCreateSQLStatement("SQLarea",2) // 2 == ADS_CDX
MsgAlert( "ADSCreateSQLStatement('SQLarea',2)" )
RETU .F.
ENDIF
if ADSExecuteSQLDirect( cConsulta1 )
DATABASE oDbf // asigno el area abierta del query a el objeto oDbf
// la clase Tdatabase
define brush oBrush resource "GRAY" //"WATER2"
define cursor oCur1 resource 222
define dialog oDlg resource "LISTARREGIS_XBR" brush oBrush transparent of oWnd
oBrw := TXBrowse():New( oDlg )
oBrw:CreateFromResource( 4001 )
oBrw:SetoDbf( oDbf )
oBrw:bClrStd:={||{nrgb(0,0,0),nRGB(243,250,200)}}
oBrw:nRowHeight:=20
oBrw:lContrastClr := .f. // para evitar que los caracteres salgan aleatoriamente con otra tinta
oCol := oBrw:AddCol()
oCol:cHeader := "TALON"
oCol:bStrData := { || oDbf:TALON }
oCol:nHeadStrAlign := AL_CENTER
oCol:nDataStrAlign := AL_LEFT
oCol:nWidth := 60
oCol:bLClickHeader:= {|| nRecno:=oDbf:recno() ,;
oDbf:CreateIndex( cCarpetaInstalacion+"\DBF's\TEMP.CDX", "TALON", "TALON") , ;
oDbf:goto(nRecno) , oBrw:refresh() }
// con el CreateIndex() genero un indice cada vez que se presiona sobre la cabecera
// Hay otra manera de hacerlo pero siempre me indexa por la columna 1
// (será la versión de FWH que uso - la 10.04)
// y luego hago que vuelva a la línea en que estaba al indexar
// sólo copio dos columnas de xBrowse a modo de ejemplo porque son todas iguales
oCol := oBrw:AddCol()
oCol:cHeader := "NOMBRE"
oCol:bStrData := { || oDbf:NOMBRE }
oCol:nHeadStrAlign := AL_CENTER
oCol:nDataStrAlign := AL_LEFT
oCol:nWidth := 230
oCol:bLClickHeader:= {||nRecno:=oDbf:recno() , ;
oDbf:CreateIndex( cCarpetaInstalacion+"\DBF's\TEMP.CDX", "NOMBRE", "NOMBRE") ,;
oDbf:goto(nRecno) , oBrw:refresh() }
Activate dialog oDlg center on init {||oBrw:setfocus(), oBrw:refresh() }
endif // de if ADSExecuteSQLDirect( cConsulta1 )
AdsDisconnect()
sqlarea -> ( dbclosearea() )
Return nil