Fórum MonthCalendar em negrito #423550
13/09/2012
0
Estou usando o codigo:
procedure TFrmCompromissos.mtc_calendarioGetMonthInfo(Sender: TObject;
Month: Cardinal; var MonthBoldInfo: Cardinal);
var
aDias: array of cardinal; // array dinâmico
nDia: word;
function DiaOK: boolean; // sub-function para não duplicar o dia
var
i: integer;
begin
Result := True;
if Length(aDias) > 0 then
for i := 0 to High(aDias) do
if aDias[i] = nDia then
begin
Result := False;
exit;
end;
end;
begin
SetLength(aDias, 0); // inicializo o array
// filtro a tabela para listar somente os registros cuja data
// corresponda ao mesmo mês e ano que estiver sendo exibido no calendário
CdsAgenda.Filtered:= False;
CdsAgenda.Filtered:= 'EXTRACT(YEAR FROM DATA) = ' + IntToStr(YearOf(mtc_calendario.Date))+
' AND EXTRACT(MONTH FROM DATA) = ' + IntToStr(MonthOf(mtc_calendario.Date));
CdsAgenda.Filtered:= True;
// faço a varredura nos registros para 'pintar', no calendário, os dias necessários
while not CdsAgenda.Eof do
begin
nDia := DayOf(CdsAgenda.FieldByName('DATA').AsDateTime); // obtém o dia da data
if DiaOK then // verifica se pode incluir o dia no array (não repete o dia)
begin
SetLength(aDias, Length(aDias)+1); // incrementa o número de elementos no array
aDias[High(aDias)] := nDia; // atribui o dia ao novo elemento do array
end;
CdsAgenda.Next;
end;
CdsAgenda.Filtered := False; // limpa o filtro da tabela
if Length(aDias) > 0 then // se algum dia foi incluído, pinta no monthcalendar
mtc_calendario.BoldDays(aDias, MonthBoldInfo);
end;
Mas tá dando erro na linha em que estou filtrando... dizendo: "Incompatible types: 'Boolean' and 'string' que o faço para resolver?????
Marcos Morais
Curtir tópico
+ 0Posts
13/09/2012
Joel Rodrigues
Gostei + 0
13/09/2012
Marcos Morais
Fiz o que vc disse, o erro nao deu mais ... contudo não está funcionando pois nao deixou o dia no monthcalendar em negrito
Gostei + 0
13/09/2012
Joel Rodrigues
Gostei + 0
19/09/2012
Joel Rodrigues
Conseguiu identificar o problema?
Gostei + 0
20/09/2012
Marcos Morais
Conseguiu identificar o problema?
Nada... já olhei linha a linha e está tudo certo,não está dando erro, mais também não está deixando o dia em negrito como estou precisando..
Gostei + 0
20/09/2012
Alisson Santos
Pois se não estiver passando na linha não deixará o dia em negrito.
Gostei + 0
20/09/2012
Joel Rodrigues
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)