Feliz dia do programador 2024

Olá, caro leitor! Hoje é um dia muito especial.

O Dia do Programador é celebrado no 256º dia do ano, o que corresponde ao dia 13 de setembro em anos normais e ao dia 12 de setembro nos anos bissextos.

Essa data teve origem na Rússia, em 2002, e foi escolhida por um motivo especial: o número 256. Esse número representa a quantidade de valores distintos que podem ser armazenados em um byte de oito bits, sendo bastante familiar aos programadores. Além disso, ‘256’ em hexadecimal é ‘100’ (‘0x100’), a maior potência de 2 menor que 365, o número de dias em um ano.

Deixamos aqui nossos parabéns a todos os programadores, especialmente aos programadores Delphi.

E você, programador Delphi, sabia dessa curiosidade? Que tal criar uma função para verificar se estamos em um ano bissexto?

uses
  System.DateUtils;
  
function TForm1.EhAnoBissexto(const AAno: Integer): Boolean;
begin
  Result := ((AAno mod 4 = 0) and (AAno mod 100 <> 0)) or (AAno mod 400 = 0);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  LDia: Integer;
  LMsg: string;
begin
  LDia := 13;
  if EhAnoBissexto(YearOf(Now)) then
    LDia := 12;

  LMsg := 'Hoje não é o dia do programador';
  if(MonthOf(Now) = 9)and(DayOf(Now) = LDia)then
    LMsg := 'Feliz dia do programador!!!';

  ShowMessage(LMsg);
end;

Neste exemplo, mostramos como criar sua própria função chamada EhAnoBissexto para verificar se um ano é bissexto. No entanto, o Delphi já oferece uma função nativa para isso, chamada IsLeapYear. Portanto, não é necessário criar a função EhAnoBissexto, bastando utilizar a função nativa para alcançar o mesmo resultado.

procedure TForm1.Button3Click(Sender: TObject);
begin
  if IsLeapYear(YearOf(Now)) then
    ShowMessage('O ano informado é bissexto')
  else
    ShowMessage('O ano informado NÃO é bissexto');
end;

Fico por aqui, pessoal. Um abraço e até a próxima!