Me toca recompilar un antiguo programa de clípper a harbour y me encuentro con 2 problemas y una duda ....
Los 2 problemas son con 2 funciones de la librería fivepro , en concreto date2str() y cls() , he mirado en el wiki creado para fivepro pero aunque las funciones están documentadas no aparece su código .
Si alguien es tan amable de echarme una manita ...
la duda es que el programa original enlazaba la librería hl_clip.lib , aunque aparentemente no usa nada de esa librería ,k para que servía ? .
Espero alguien me pueda ayudar.
Saludso cordiales a todos.
recompilar clipper a harbor
Re: recompilar clipper a harbor
Amigo reeplaza la funcion date2str por:
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
° 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)
y
la funcion cls() es solol limpia la pantalla
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
° 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)
y
la funcion cls() es solol limpia la pantalla
Re: recompilar clipper a harbor
Gracias había creado la funcion
pero la tuya es mucho mejor ....
En cuanto al cls() no es la misma , esta lleva 2 parametros ,el primero es el color y el segundo es un fondo ...
supongo que sera algo asi como :
pero queria la confirmación.
Me falta la duda del hl_clip.
Gracias por responder.
Saludos
Code: Select all | Expand
Function Date2str(dDate)
Return cDow(dDate)+" "+str(day(dDate))+" de " +cMonth(dDate)+" "+str(year(dDate))
pero la tuya es mucho mejor ....
En cuanto al cls() no es la misma , esta lleva 2 parametros ,el primero es el color y el segundo es un fondo ...
supongo que sera algo asi como :
Code: Select all | Expand
function cls(ncolor,cFondo)
color(nColor)
cls
retscreen(cfondo)
Return nil
pero queria la confirmación.
Me falta la duda del hl_clip.
Gracias por responder.
Saludos
- Armando
- Posts: 3271
- Joined: Fri Oct 07, 2005 8:20 pm
- Location: Toluca, México
- Been thanked: 2 times
- Contact:
Re: recompilar clipper a harbor
José:
Veo que mi función ha dado buena hebra !
Saludos
Veo que mi función ha dado buena hebra !
![Wink :wink:](./images/smilies/icon_wink.gif)
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
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero