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

www.clubedelphi.net