{"id":711,"date":"2024-09-12T02:41:21","date_gmt":"2024-09-12T05:41:21","guid":{"rendered":"https:\/\/code4delphi.com.br\/blog\/?p=711"},"modified":"2024-11-12T02:20:47","modified_gmt":"2024-11-12T05:20:47","slug":"feliz-dia-do-programador-2024","status":"publish","type":"post","link":"https:\/\/code4delphi.com.br\/blog\/feliz-dia-do-programador-2024\/","title":{"rendered":"Feliz dia do programador 2024"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ol\u00e1, caro leitor! Hoje \u00e9 um dia muito especial.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O Dia do Programador \u00e9 celebrado no 256\u00ba dia do ano, o que corresponde ao dia 13 de setembro em anos normais e ao dia 12 de setembro nos anos bissextos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Essa data teve origem na R\u00fassia, em 2002, e foi escolhida por um motivo especial: o n\u00famero 256. Esse n\u00famero representa a quantidade de valores distintos que podem ser armazenados em um byte de oito bits, sendo bastante familiar aos programadores. Al\u00e9m disso, &#8216;256&#8217; em hexadecimal \u00e9 &#8216;100&#8217; (&#8216;0x100&#8217;), a maior pot\u00eancia de 2 menor que 365, o n\u00famero de dias em um ano.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Deixamos aqui nossos parab\u00e9ns a todos os programadores, especialmente aos programadores Delphi. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">E voc\u00ea, programador Delphi, sabia dessa curiosidade? Que tal criar uma fun\u00e7\u00e3o para verificar se estamos em um ano bissexto?<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/code4delphi.com.br\/blog\/wp-content\/uploads\/2024\/09\/Dia-do-Programador-2024-1024x1024.png\" alt=\"\" class=\"wp-image-713\" srcset=\"https:\/\/code4delphi.com.br\/blog\/wp-content\/uploads\/2024\/09\/Dia-do-Programador-2024-1024x1024.png 1024w, https:\/\/code4delphi.com.br\/blog\/wp-content\/uploads\/2024\/09\/Dia-do-Programador-2024-300x300.png 300w, https:\/\/code4delphi.com.br\/blog\/wp-content\/uploads\/2024\/09\/Dia-do-Programador-2024-150x150.png 150w, https:\/\/code4delphi.com.br\/blog\/wp-content\/uploads\/2024\/09\/Dia-do-Programador-2024-768x768.png 768w, https:\/\/code4delphi.com.br\/blog\/wp-content\/uploads\/2024\/09\/Dia-do-Programador-2024-460x460.png 460w, https:\/\/code4delphi.com.br\/blog\/wp-content\/uploads\/2024\/09\/Dia-do-Programador-2024-920x920.png 920w, https:\/\/code4delphi.com.br\/blog\/wp-content\/uploads\/2024\/09\/Dia-do-Programador-2024-200x200.png 200w, https:\/\/code4delphi.com.br\/blog\/wp-content\/uploads\/2024\/09\/Dia-do-Programador-2024.png 1080w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#f6f6f4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"uses\n  System.DateUtils;\n  \nfunction TForm1.EhAnoBissexto(const AAno: Integer): Boolean;\nbegin\n  Result := ((AAno mod 4 = 0) and (AAno mod 100 &lt;&gt; 0)) or (AAno mod 400 = 0);\nend;\n\nprocedure TForm1.Button1Click(Sender: TObject);\nvar\n  LDia: Integer;\n  LMsg: string;\nbegin\n  LDia := 13;\n  if EhAnoBissexto(YearOf(Now)) then\n    LDia := 12;\n\n  LMsg := 'Hoje n\u00e3o \u00e9 o dia do programador';\n  if(MonthOf(Now) = 9)and(DayOf(Now) = LDia)then\n    LMsg := 'Feliz dia do programador!!!';\n\n  ShowMessage(LMsg);\nend;\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F286C4\">uses<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  System.DateUtils;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">function<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">TForm1.EhAnoBissexto<\/span><span style=\"color: #F6F6F4\">(<\/span><span style=\"color: #F286C4\">const<\/span><span style=\"color: #F6F6F4\"> AAno: <\/span><span style=\"color: #F286C4\">Integer<\/span><span style=\"color: #F6F6F4\">): <\/span><span style=\"color: #F286C4\">Boolean<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">begin<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #F286C4\">Result<\/span><span style=\"color: #F6F6F4\"> := ((AAno <\/span><span style=\"color: #F286C4\">mod<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">4<\/span><span style=\"color: #F6F6F4\"> = <\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">) <\/span><span style=\"color: #F286C4\">and<\/span><span style=\"color: #F6F6F4\"> (AAno <\/span><span style=\"color: #F286C4\">mod<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">100<\/span><span style=\"color: #F6F6F4\"> &lt;&gt; <\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">)) <\/span><span style=\"color: #F286C4\">or<\/span><span style=\"color: #F6F6F4\"> (AAno <\/span><span style=\"color: #F286C4\">mod<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">400<\/span><span style=\"color: #F6F6F4\"> = <\/span><span style=\"color: #BF9EEE\">0<\/span><span style=\"color: #F6F6F4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">end<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">procedure<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">TForm1.Button1Click<\/span><span style=\"color: #F6F6F4\">(Sender: TObject);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">var<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  LDia: <\/span><span style=\"color: #F286C4\">Integer<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  LMsg: <\/span><span style=\"color: #F286C4\">string<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">begin<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  LDia := <\/span><span style=\"color: #BF9EEE\">13<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #F286C4\">if<\/span><span style=\"color: #F6F6F4\"> EhAnoBissexto(YearOf(Now)) <\/span><span style=\"color: #F286C4\">then<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    LDia := <\/span><span style=\"color: #BF9EEE\">12<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  LMsg := <\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">Hoje n\u00e3o \u00e9 o dia do programador<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #F286C4\">if<\/span><span style=\"color: #F6F6F4\">(MonthOf(Now) = <\/span><span style=\"color: #BF9EEE\">9<\/span><span style=\"color: #F6F6F4\">)<\/span><span style=\"color: #F286C4\">and<\/span><span style=\"color: #F6F6F4\">(DayOf(Now) = LDia)<\/span><span style=\"color: #F286C4\">then<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    LMsg := <\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">Feliz dia do programador!!!<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  ShowMessage(LMsg);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">end<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Neste exemplo, mostramos como criar sua pr\u00f3pria fun\u00e7\u00e3o chamada <code><strong>EhAnoBissexto<\/strong><\/code> para verificar se um ano \u00e9 bissexto. No entanto, o Delphi j\u00e1 oferece uma fun\u00e7\u00e3o nativa para isso, chamada <code><strong>IsLeapYear<\/strong><\/code>. Portanto, n\u00e3o \u00e9 necess\u00e1rio criar a fun\u00e7\u00e3o <code><strong>EhAnoBissexto<\/strong><\/code>, bastando utilizar a fun\u00e7\u00e3o nativa para alcan\u00e7ar o mesmo resultado.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#f6f6f4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"procedure TForm1.Button3Click(Sender: TObject);\nbegin\n  if IsLeapYear(YearOf(Now)) then\n    ShowMessage('O ano informado \u00e9 bissexto')\n  else\n    ShowMessage('O ano informado N\u00c3O \u00e9 bissexto');\nend;\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F286C4\">procedure<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #62E884\">TForm1.Button3Click<\/span><span style=\"color: #F6F6F4\">(Sender: TObject);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">begin<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #F286C4\">if<\/span><span style=\"color: #F6F6F4\"> IsLeapYear(YearOf(Now)) <\/span><span style=\"color: #F286C4\">then<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    ShowMessage(<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">O ano informado \u00e9 bissexto<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  <\/span><span style=\"color: #F286C4\">else<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    ShowMessage(<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">O ano informado N\u00c3O \u00e9 bissexto<\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #F6F6F4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F286C4\">end<\/span><span style=\"color: #F6F6F4\">;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Fico por aqui, pessoal. Um abra\u00e7o e at\u00e9 a pr\u00f3xima!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ol\u00e1, caro leitor! Hoje \u00e9 um dia muito especial. O Dia do Programador \u00e9 celebrado no&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-711","post","type-post","status-publish","format-standard","hentry","category-geral"],"_links":{"self":[{"href":"https:\/\/code4delphi.com.br\/blog\/wp-json\/wp\/v2\/posts\/711","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/code4delphi.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/code4delphi.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/code4delphi.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/code4delphi.com.br\/blog\/wp-json\/wp\/v2\/comments?post=711"}],"version-history":[{"count":4,"href":"https:\/\/code4delphi.com.br\/blog\/wp-json\/wp\/v2\/posts\/711\/revisions"}],"predecessor-version":[{"id":792,"href":"https:\/\/code4delphi.com.br\/blog\/wp-json\/wp\/v2\/posts\/711\/revisions\/792"}],"wp:attachment":[{"href":"https:\/\/code4delphi.com.br\/blog\/wp-json\/wp\/v2\/media?parent=711"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/code4delphi.com.br\/blog\/wp-json\/wp\/v2\/categories?post=711"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/code4delphi.com.br\/blog\/wp-json\/wp\/v2\/tags?post=711"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}