Page 1 of 1

Clase TCalex algunos problemitas....

PostPosted: Fri Aug 26, 2016 6:30 pm
by jose_murugosa
Si quiero un calendario de Domingo a Sábado (el tradicional) con la clase tCalex tendría que poner
Code: Select all  Expand view

DEFINE CALEX ::oCalex OF ::oPanelCalex FIRST_DATE 7
 en el método BuildCalex()


Pero cuando lo hago, el calendario aparece bien, pero las fechas se corren un día.

Por otra parte siempre la primera columna de la izquierda tiene las fechas en rojo, si pones una semana que comienza en lunes, todos los lunes aparecerán en rojo...

Hay alguna forma de ajustar estos detalles?

Gracias desde ya por vuestra ayuda :D

Re: Clase TCalex algunos problemitas....

PostPosted: Sat Aug 27, 2016 12:29 am
by cnavarro
Jose,

Image

Code: Select all  Expand view


   DEFINE CALEX ::oCalex OF ::oPanelCalex;
          FIRST_DATE 0
 


Ah! utiliza seteos de idioma

Code: Select all  Expand view


REQUEST HB_LANG_ES
REQUEST HB_CODEPAGE_ESWIN

//----------------------------------------------------------------------------//

function Main()

   HB_CDPSELECT("ESWIN")
   HB_LangSelect( "ES" )

.../...
 

Re: Clase TCalex algunos problemitas....

PostPosted: Sat Aug 27, 2016 5:27 pm
by jose_murugosa
Gracias Cristóbal por siempre contestar rapidamente a nuestras dudas, encontré finalmente el problema, en primer lugar yo usaba 1 a 7 pensando en 7 para domingo y tal como tu me lo aclaraste es 0 a 6.

Pero persistía el problema que siempre la primera columna se pinta roja como de feriado aunque sea lunes, al menos en la clase que yo tengo.

Esto se debe a estas líneas en tmonthv.prg
Code: Select all  Expand view


*-----  fjhg para los numeros de dia del Domingo en rojo

   if nCol == 1   // si el calendario comienza en lunes se debería reemplazar por 7 para que las fechas domingo aparezcan en rojo en el calendario
      nOldClr := SetTextColor( hDC, nRGB(200,0,0) )
   else
      nOldClr := SetTextColor( hDC, ::nClrText )
   endif

*----- fin fjhg

 


Ahora, esto no sucede con los días de la semana, así que revisaré que variable setea el color para usarla aquí.

Re: Clase TCalex algunos problemitas....

PostPosted: Sat Aug 27, 2016 5:47 pm
by cnavarro
Jose si estás usando la misma que yo, no he tocado nada
Mira el seteo del idioma antes de investigar nada
La imagen que te pongo es del sample01.prg
Vamos hablando

Re: Clase TCalex algunos problemitas....

PostPosted: Sun Aug 28, 2016 2:15 am
by jose_murugosa
Estoy seguro que uso la misma en un 99% y he seteado el idioma exactamente como me lo indicas y a menos que cambie la línea que te mencionaba me marca siempre los números de la primer columna en rojo, pero ante la duda, podrías enviarme nuevamente la clase por favor?

Gracias desde ya por tu paciencia y ayuda, luego te comentaré los resultados, quizá enviandote un ejemplo del problema si se siguiera repitiendo.

Re: Clase TCalex algunos problemitas....

PostPosted: Sun Aug 28, 2016 2:43 pm
by cmsoft
A mi tambien me pone en rojo los numeros de los dias que estan ubicados en la primiera columna. El titulo del dia domingo lo pone en rojo aunque este en la columna 7

Re: Clase TCalex algunos problemitas....

PostPosted: Sun Aug 28, 2016 10:11 pm
by cnavarro
Voy a comprobarlo y comento

Re: Clase TCalex algunos problemitas....

PostPosted: Mon Aug 29, 2016 6:10 pm
by jose_murugosa
El problema a mi parecer está aquí:

*----- fjhg para los numeros de dia del Domingo en rojo

if nCol == 1 // si el calendario comienza en lunes se debería reemplazar por 7 para que las fechas domingo aparezcan en rojo en el calendario
nOldClr := SetTextColor( hDC, nRGB(200,0,0) )
else
nOldClr := SetTextColor( hDC, ::nClrText )
endif

*----- fin fjhg


al tener una constante el el valor de la columna que se colorea en rojo, siempre es la misma columna, es decir la primera de izquierda a derecha, debería considerarse que la columna en rojo fuera la del domingo o que hubiera otro parámetro para indicar cual es para los casos en que el feriado semanal fuera otro, por ejemplo el sábado.

Es solo una opinión, mi granito de arena :)