Data por extenso

Por vezes surge a necessidade de escrever uma data por extenso,  por exemplo na emissão de documentos como cheques, relatórios, etc.

A procedure abaixo, realiza esta tarefa de forma simples e rápida, permitindo inclusive retornar o dia da semana.



procedure TForm1.Button1Click(Sender: TObject);

var nrdia: Integer;
    diasemana: array[1..7] of String;
    meses: array[1..12] of String;
    dia, mes, ano: Word;
begin


   {Preenchendo o array diasemana com os dias da semana ...}
   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';


   {Preenchendo o array meses com dos meses do ano ... }
   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';


   {Decodificando a data }
   DecodeDate(DateTimePicker1.Date ,ano,mes,dia);
   nrdia:= DayOfWeek(DATE);


   {Exibindo a data por extenso em uma Edit }
   Edit1.Text:= diasemana[nrdia]+', '+INTTOSTR(dia)+' de '+meses[mes]+' de '+INTTOSTR(ano);
end;
Esta é um a dica super simples, mas bastante funcional:

Abraço e até o próximo post.