Sorry for the mistake.
Please change :aCol[ as :aCols[
I edited my posting and corrected it now.
Armando wrote:BTW, I need columns 5 and 6 with date format, how can I do it?
Date2Txt(DameFecha(oRsCxc:Fields("CARFEC"):Value))
COLUMNS "CARCAR", "CARCLI", "CLINOM", "DameFecha(CARFEC)", "DameFecha(CARVTO)", "CARIMP" ;
[color=#FF0000]// Converts a numeric type field to date type[/color]
STATIC FUNCTION DameFecha(nFecha)
LOCAL dFecha
LOCAL cFecha := STR(nFecha,08,0)
dFecha := CTOD(LEFT(cFecha,2) + "/" + SUBSTR(cFecha,3,2) + "/" + SUBSTR(cFecha,5,4))
RETURN(dFecha)
//
Converts a date type field to a character string formatted as date
Sample 29/06/2018 to 29/Jun/2018
/*
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
° Funcion: Date2Txt()
Argumentos: 8
Argumento 1: La fecha a convertir variable tipo fecha
Argumento 2: Tipo de nombre del día 1=Corto, 2=Largo Ejem: 1=Sáb, 2=Sábado
Argumento 3: Tipo de nombre del mes 1=Corto, 2=Largo Ejem: 1=Ene, 2=Enero
Argumento 4: Tipo de año 1=2 dígitos, 2=4 dígitos Ejem: 1=99, 2=1999
Argumento 5: Separador entre el día de la semana y la fecha
Argumento 6: Separador entre dia y mes
Argumento 7: Separador entre mes y año
Argumento 8: Variable lógica para decidir si el día debe ir precedido de cero
cuando el valor el menor a 10. Ejem: 1 aparecerá 01
Copyright: (2011) Por SOI, s.a. de c.v.
Desarrolló: Ing. Armando Estrada Bucio
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
*/
#INCLUDE "FiveWin.ch"
FUNCTION Date2Txt(dFecha,nTipdia,nTipMes,nTipAmo,cSepDia,cSepDM,cSepMA,lZeros)
LOCAL aNomMesC := {"Ene", "Feb", "Mzo", "Abr", "May", ;
"Jun", "Jul", "Ago", "Sep", "Oct", ;
"Nov", "Dic"}
LOCAL aNomMes := {"Enero", "Febrero", "Marzo", "Abril", "Mayo", ;
"Junio", "Julio", "Agosto", "Septiembre", "Octubre", ;
"Noviembre", "Diciembre"}
LOCAL aNomDia := {"Domingo", "Lunes", "Martes", "Míercoles", ;
"Jueves", "Viernes", "Sábado"}
LOCAL La_Fecha := ""
DEFAULT lZeros := (.T.)
// DEFAULT dFecha := DATE()
// DEFAULT nTipDia := 0
// DEFAULT nTipMes := 1
// DEFAULT nTipAmo := 2
// DEFAULT cSepDia := SPACE(1)
// DEFAULT cSepDM := "/"
// DEFAULT cSepMA := "/"
IF EMPTY(dFecha)
dFecha := DATE()
ENDIF
IF EMPTY(nTipDia)
nTipDia := 0
ENDIF
IF EMPTY(nTipMes)
nTipMes := 1
ENDIF
IF EMPTY(nTipAmo)
nTipAmo := 2
ENDIF
IF cSepDia == NIL
cSepDia := SPACE(1)
ENDIF
IF cSepDM == NIL
cSepDM := "/"
ENDIF
IF cSepMA == NIL
cSepMA := "/"
ENDIF
DO CASE
CASE nTipdia == 1
La_Fecha:= LEFT(aNomDia[DOW(dFecha)], 3) + cSepDia
CASE nTipdia == 2
La_Fecha:= aNomDia[DOW(dFecha)] + cSepDia
ENDCASE
IF lZeros
La_Fecha:= La_Fecha + STRZERO(DAY(dFecha), 2, 0)
ELSE
La_Fecha:= La_Fecha + STR(DAY(dFecha), 2, 0)
ENDIF
DO CASE
CASE nTipMes == 1
La_Fecha:= La_Fecha + cSepDM + LEFT(aNomMesC[MONTH(dFecha)], 3)
CASE nTipMes == 2
La_Fecha:= La_Fecha + cSepDM + aNomMes[MONTH(dFecha)]
ENDCASE
DO CASE
CASE nTipAmo == 1
La_Fecha:= La_Fecha + cSepMA + RIGHT(STR(YEAR(dFecha), 4, 0), 2)
CASE nTipAmo == 2
La_Fecha:= La_Fecha + cSepMA + STR(YEAR(dFecha), 4, 0)
ENDCASE
RETURN (La_Fecha)
COLUMNS "CARCAR", "CARCLI", "CLINOM", "Date2Txt( DameFecha(CARFEC) )", "Date2Txt( DameFecha(CARVTO) )", "CARIMP" ;
// AT THE BEGINNING OF THE PROGRAM
REQUEST HB_LANG_ESWIN
REQUEST HB_CODEPAGE_ESWIN
HB_CDPSELECT("ESWIN")
HB_LangSelect( "ESWIN" )
// SOON AFTER OPENING THE CONNECTION
oCn:Execute( "SET lc_time_names = 'es_ES'" )
// READING DATA FROM TABLE
cSql := "SELECT DATE_FORMAT( STR_TO_DATE( CARFEC, '%d%m%Y' ), '%W %D %M %Y' ) AS CARFEC FROM <yourtablename>"
oRs := FW_OpenRecordSet( oCn, cSql )
XBROWSER oRs
REDEFINE XBROWSE oBrw ID 201 OF oDlg;
DATASOURCE oRsCxc ;
COLUMNS "CARCAR", "CARCLI", "CLINOM", "Date2Txt(DameFecha(CARFEC))", "Date2Txt(DameFecha(CARVTO))", "CARIMP" ;
HEADERS "Factura", "Cliente", "Nombre o Razón Social", "Emisión", "Vencimiento", "Saldo" ;
COLSIZES 60,60,300,85,85,90 ;
FOOTERS
WITH OBJECT oBrw
:l2007 := (.F.)
:lHScroll := (.F.)
:nMarqueeStyle := MARQSTYLE_HIGHLROWMS
:nColDividerStyle := LINESTYLE_LIGHTGRAY
:nRowDividerStyle := LINESTYLE_LIGHTGRAY
:nStretchCol := STRETCHCOL_WIDEST
:nHeaderHeight := 25
:nRowHeight := 22
:nFooterHeight := 25
:bClrHeader := { || {CLR_WHITE,CLR_BLACK} }
:bClrFooter := { || {CLR_WHITE,CLR_BLACK} }
:bClrSel := { || IF( oBrw:KeyNo % oApp:nRowsInt == 0 ,{ CLR_BLACK, oApp:nRowParClr },{ CLR_BLACK, oApp:nRowNonClr }) }
:bClrSelFocus := { || {oApp:nFClrFocus,oApp:nBClrFocus} }
:bClrStd := { || IF( oBrw:KeyNo % oApp:nRowsInt == 0 ,{ CLR_BLACK, oApp:nRowParClr },{ CLR_BLACK, oApp:nRowNonClr }) }
:nRecSelColor := oApp:nRowParClr
:lDisplayZeros := (.F.)
END
WITH OBJECT oBrw
:aCols[ 5]:bFooter := { || Len( oBrw:aSelected ) }
WITH OBJECT :aCols[ 6]
:nFooterType := AGGR_SUM
:bSumCondition := { || AScan( oBrw:aSelected, oBrw:BookMark ) > 0 }
END
:bOnMultiSelect := { || oBrw:MakeTotals() }
:bChange := { || IF( LEN( oBrw:aSelected ) <= 1, ;
( oBrw:oCol(6):nTotal := oBrw:oCol(6):Value,;
oBrw:oCol(6):RefreshFooter() ),NIL ) }
:MakeTotals()
END
REQUEST HB_LANG_ESWIN
REQUEST HB_CODEPAGE_ESWIN
FUNCTION AppPag()
LOCAL oDlg
LOCAL oIcono
LOCAL oFont,oFont1
LOCAL oBrush
LOCAL oBrw
LOCAL aCol := ARRAY(10)
LOCAL aGets := ARRAY(25)
LOCAL aSays := ARRAY(01)
LOCAL oAceptar
LOCAL oCancelar
SET CENTURY ON
SET DATE TO FRENCH
SET DELETED ON
SET OPTIMIZE ON
SETBALLOON(.T.)
HB_CDPSELECT("ESWIN")
HB_LangSelect( "ESWIN" )
……
…..
STATIC FUNCTION Conecta()
LOCAL oError
TRY
oApp:oCon := TOleAuto( ) :new( "adodb.connection" )
CATCH oError
MsgStop( "No se ha podido crear la conexión al servidor !")
RETURN( .F. )
END
oApp:oCon:ConnectionString := "Provider=IBMDA400;Data Source=AS400;User Id=Armando;Password=soidito"
oApp:oCon:CommandTimeout := 1800 // 30 Minutos * 60 segundos
oApp:oCon:ConnectionTimeout := 300 // 5 Minutos * 60 segundos
TRY
oApp:oCon:Open()
CATCH oError
MsgInfo( "No se pudo lograr la conexión al servidor, REVISE LA CONEXION DE SU RED O LA CONEXION A INTERNET !",oApp:cAplicacion)
RETURN(.F.)
END
// SOON AFTER OPENING THE CONNECTION
oApp:oCon:Execute( "SET lc_time_names = 'es_ES'" )
RETURN(.T.)
the columns in xbrowse shows the string
"Date2Txt( DameFecha(CARFEC) )", "Date2Txt( DameFecha(CARVTO) )"
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: Google [Bot] and 78 guests