Como mudar o título de um dia no FWCalendar

No artigo de hoje, vou mostrar como mudar o título de um dia na montagem de um FWCalendar.

Esse artigo foi montado com a ajuda do grande Alexandre Behling ( LinkedIn ).

Antes de começarmos o tutorial, se você nunca usou FWCalendar, segue um artigo com exemplo completo – Exemplo de tela com FWCalendar.

Agora vindo para nosso exemplo, em uma tela feito com FWCalendar, usuários me perguntaram se existia a possibilidade de alterar o título de um dia, para identificar se é um Feriado ou um Fim de Semana.

Então na montagem do calendário, a lógica seria a seguinte:

  • Durante o laço de repetição que percorre todos os dias
  • Pega o dia atual, e deixa com dois dígitos
  • Se o dia atual não for uma data válida
  • Se o dia da semana for 1 (domingo) ou 7 (sábado), terá o texto FDS, senão terá o texto Feriado
  • Define o texto e a cor do texto como vermelho
  • Se a data for válida, será apenas o dia e a cor do texto em azul

Abaixo um print de exemplo do mês de Janeiro de 2021:

Exemplo da tela com título alterado

E abaixo o código fonte desenvolvido:

dDataAtu := oCalend:aCell[nCell][DATADIA]
cObsText := ""
cDia := StrZero(Day(dDataAtu), 2)

//Se a data não for válida
If DataValida(dDataAtu) != dDataAtu
	
	//Se for domingo ou sábado, será FDS senão será FERIADO
	If Dow(dDataAtu) == 1 .Or. Dow(dDataAtu) == 7
		cObsText := "FDS"
	Else
		cObsText := "FERIADO"
	EndIf

	//Define o título da célula
	cHtml := '<html><p style="color: #ff0000;"><b>' + cDia + ' - ' + cObsText + '</b></p></html>'
	oCalend:aCell[nCell][OBJETO]:oEditTitle:cTitle := cHtml
Else
	//Define o título da célula
	cHtml := '<html><p style="color: #0000ff;"><b>' + cDia + '</b></p></html>'
	oCalend:aCell[nCell][OBJETO]:oEditTitle:cTitle := cHtml
EndIf

Bom pessoal, por hoje é só.

Abraços e até a próxima.

Dan Atilio (Daniel Atilio)
Especialista em Engenharia de Software pela FIB. Entusiasta de soluções Open Source. E blogueiro nas horas vagas.

Deixe uma resposta