Spanish Problema con Custom Calendar

nicomx

Member
Licensed User
Problema con Custom Calendar (Solucionado)

Hola a tod@s

Hace tiempo que me vengo pegando con estas clases

Custom calendar class y
[Class] AnotherDatePicker

Preferiria utilizar "Custom calendar class" pero me pasa lo mismo con las dos

Estoy haciendo un calendario simple con un monton de eventos, cálculos de horas y tal pero no soy capaz de hacer que el dichoso calendario arranque en lunes.
Puede que sea por el desanimo de no conseguirlo pero no veo por donde meterle mano a esto.

Alguien me echa un cable?

Un saludo y gracias por anticipado

Eugenio J. Sánchez
 
Last edited:

nicomx

Member
Licensed User
Solucionado

Hola a tod@s

Os dejo las soluciones a las dos clases por si a alguien mas le viene bien.

Custom Calendar

Para cambiar los días de la semana y que comience en Lunes en vez de en Domingo vamos a cambiar la linea:

B4X:
   Public NmFullday(8) As String : NmFullday = Main.Local.WeekDays 'NmFullday = Array As String("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi")
Por esta otra:

B4X:
   Public NmFullday(8) As String : NmFullday = Array As String("Lunes","Martes","Miercoles","Jueves","Viernes","Sabado","Domingo")
Pero con esto solo no basta, de echo, solo hemos cambiado el nombre de las etiquetas, ahora para cambiar el orden de los días en el calendario cambiamos la linea:


B4X:
   nday = (DateTime.GetDayOfWeek(SomeTime)-1)  'FirstDayOfWeek = Sunday
Por esta otra:

B4X:
   nday = (DateTime.GetDayOfWeek(SomeTime)-2)  'FirstDayOfWeek = Monday
Y con esto ya tenemos nuestro calendario empezando en Lunes y totalmente funcional


AnotherDatePicker

La primera linea que vamos a cambiar cambiar es la de los label que son los que contienen el nombre de los días, así que modificamos la linea:

B4X:
   daysNames = Array As Label(Label1, Label2, Label3, Label4, Label5, Label6, Label7)
Y la dejamos así:

B4X:
   daysNames = Array As Label(Label7, Label1, Label2, Label3, Label4, Label5, Label6)
Como veis solo hemos cambiado el orden de los label, desplazandolos una posición a la izquierda.


Y ahora cambiamos la linea:

B4X:
   dayOfWeekOffset = DateTime.GetDayOfWeek(firstDay) Mod 7
Por esta otra:

B4X:
   dayOfWeekOffset = DateTime.GetDayOfWeek(firstDay) -1 Mod 7
Y listo, ya tenemos la clase cambiada para que arranque en Lunes y funcionando ;)


Gracias a vampirbcn por mostrarme lo que había leido 20 veces y aun así no era capaz de ver lo evidente ;-)

Para los vaguetes, os dejo las dos clases modificadas

Y un nuevo post sobre esto en mi blog :)
http://www.ailecsoft.es/2013/05/calendario-y-primer-dia-de-la-semana.html


Un saludo a tod@s
 

Attachments

Last edited:
Top