Error xHarbour build 1.2.1 Intl. (SimpLex) (Rev. 9381

Error xHarbour build 1.2.1 Intl. (SimpLex) (Rev. 9381

Postby ruben Dario » Wed Jul 13, 2011 1:44 pm

Me da error cuando toma la fecha y devuelvo en forma texto
, esto me da con Compiler version: xHarbour build 1.2.1 Intl. (SimpLex) (Rev. 9381) y con la version de xharbour Rev 6717 funciona bien


Code: Select all  Expand view

FUNCTION FEC_LETRAS(FEC_VAL,patx)
Local x_fecha
  if patx=Nil;patx:=1;Endif
  IF FEC_VAL=Nil
     RETURN("           ")
  ENDIF
  [b]IF FEC_VAL=CTOD("  /  /  ")  // esta es la linea del error[/b]     RETURN("           ")
  ENDIF

   if patx=0
     X_FECHA := CMONTH(FEC_VAL)+"."+STRZERO(DAY(FEC_VAL),2)+"/"+ALLTRIM(STR(YEAR(FEC_VAL)))+" "
  else
     X_FECHA := SUBSTR(CMONTH(FEC_VAL),1,3)+"."+STRZERO(DAY(FEC_VAL),2)+"/"+ALLTRIM(STR(YEAR(FEC_VAL)))+" "
  endif
RETURN X_FECHA
 
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
ruben Dario
 
Posts: 1061
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: Error xHarbour build 1.2.1 Intl. (SimpLex) (Rev. 9381

Postby Willi Quintana » Wed Jul 13, 2011 3:49 pm

Hola, prueba si:

Code: Select all  Expand view

FUNCTION FEC_LETRAS(FEC_VAL,patx)
Local x_fecha
  if patx=Nil;patx:=1;Endif
  IF FEC_VAL=Nil .OR. VALTYPE(FEC_VAL) <> "D"
     RETURN("           ")
  ENDIF
  IF EMPTY( FEC_VAL)
      RETURN("           ")
  ENDIF

   if patx=0
     X_FECHA := CMONTH(FEC_VAL)+"."+STRZERO(DAY(FEC_VAL),2)+"/"+ALLTRIM(STR(YEAR(FEC_VAL)))+" "
  else
     X_FECHA := SUBSTR(CMONTH(FEC_VAL),1,3)+"."+STRZERO(DAY(FEC_VAL),2)+"/"+ALLTRIM(STR(YEAR(FEC_VAL)))+" "
  endif
RETURN X_FECHA
 
User avatar
Willi Quintana
 
Posts: 1003
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú

Re: Error xHarbour build 1.2.1 Intl. (SimpLex) (Rev. 9381

Postby jbrita » Wed Jul 13, 2011 4:13 pm

Prueba asi

Date2Txt(SQLField(cRec_Gen,"Rec_Femisi")),"")


/*
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
° Funcion: Date2Txt()
Argumentos: 6
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
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
*/
FUNCTION Date2Txt(dFecha, nTipdia, nTipMes, nTipAmo, cSepDia, cSepDM, cSepMA)
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 := ""

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

La_Fecha:= La_Fecha + STR(DAY(dFecha), 2, 0)

DO CASE
CASE nTipMes == 1
La_Fecha:= La_Fecha + cSepDM + LEFT(aNomMes[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)

Saludos
jbrita
 
Posts: 486
Joined: Mon Jan 16, 2006 3:42 pm

Re: Error xHarbour build 1.2.1 Intl. (SimpLex) (Rev. 9381

Postby ruben Dario » Thu Jul 14, 2011 1:10 pm

Le hize un seguimiento al codigo y la funcion es bien, ya detecte el problema, pero no le encuentro solucion.
Para mi es la version de xharbour o implica volver a compilar del fwh tengo la 11.03 y la trabajo xharbour Rev 6717 y trabaja bien cuando compilo con xharbour rev 9381 es donde presenta problemas.

El error se me esta presentando en esta linea
uVal := oDatxx:Fields( cStrField ):Value

No me esta asignado el valor de la fecha.
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
ruben Dario
 
Posts: 1061
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: Error xHarbour build 1.2.1 Intl. (SimpLex) (Rev. 9381

Postby Armando » Thu Jul 14, 2011 1:34 pm

José:

Parece que mi funcion Date2Txt() sigue dando hebra, :D

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3084
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Error xHarbour build 1.2.1 Intl. (SimpLex) (Rev. 9381

Postby ruben Dario » Thu Jul 14, 2011 2:38 pm

Armando wrote:José:

Parece que mi funcion Date2Txt() sigue dando hebra, :D

Saludos


Gracias Armardo

Date2Txt(SQLField(cRec_Gen,"Rec_Femisi")),"")

Vi tu codigo pero cual es no veo la funcion SQLField es funa funcion de compilador.
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
ruben Dario
 
Posts: 1061
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: Error xHarbour build 1.2.1 Intl. (SimpLex) (Rev. 9381

Postby Armando » Thu Jul 14, 2011 10:28 pm

Rubén:

La función SQLField() es propia de José, pero si miras la función Date2Txt() facilmente sabras lo que
debes enviarle

FUNCTION Date2Txt(dFecha, nTipdia, nTipMes, nTipAmo, cSepDia, cSepDM, cSepMA)

Aunque algunos parámetros son opcionales, por ejemplo la puedes usar así

MsgInfo(Date2Txt(DATE())) => 14/Jul/2011

o más simple aún

MsgInfo(Date2Txt()) => 14/Jul/2011

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3084
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 35 guests