Data por extenso no QuickReport
Se você precisa mostrar uma data por extenso no QuickReport, utilize o seguinte código:
procedure DataExtenso(aControl: TControl);
var
nrdia: Integer;
diasemana: array[1..7] of string;
meses: array[1..12] of string;
dia, mes, ano: Word;
begin
diasemana[1]:= 'Domingo';
diasemana[2]:= 'Segunda-feira';
diasemana[3]:= 'Terça-feira';
diasemana[4]:= 'Quarta-feira';
diasemana[5]:= 'Quinta-feira';
diasemana[6]:= 'Sexta-feira';
diasemana[7]:= 'Sábado';
meses[1]:= 'Janeiro';
meses[2]:= 'Fevereiro';
meses[3]:= 'Março';
meses[4]:= 'Abril';
meses[5]:= 'Maio';
meses[6]:= 'Junho';
meses[7]:= 'Julho';
meses[8]:= 'Agosto';
meses[9]:= 'Setembro';
meses[10]:= 'Outubro';
meses[11]:= 'Novembro';
meses[12]:= 'Dezembro';
DecodeDate(Date, ano, mes, dia);
nrdia:= DayOfWeek(Date);
if aControl is TQRLabel then
(aControl as TQRLabel).Caption := diasemana[nrdia]+
', '+IntToStr(dia)+' de '+meses[mes]+
' de '+IntToStr(ano);
end;
Se você quiser adaptar o código para qualquer outro componente, altere o parâmetro aControl para o tipo de componente (TEdit, TLabel etc.) e também a data desejada (nesse código a data padrão é a data do dia). No evento OnBeforePrint do relatório, basta chamar o procedimento criado anteriormente:
DataExtenso(QRLabel1);
Luciano Pimenta®
Editor do Portal ClubeDelphi.Net
webeditor@clubedelphi.net