{"id":478,"date":"2015-01-10T12:51:19","date_gmt":"2015-01-10T12:51:19","guid":{"rendered":"http:\/\/linguagemprisma.net\/?p=478"},"modified":"2015-01-10T12:51:19","modified_gmt":"2015-01-10T12:51:19","slug":"calendario-e-suas-funcoes","status":"publish","type":"post","link":"https:\/\/linguagemprisma.br4.biz\/blog\/igprisma\/calendario-e-suas-funcoes\/","title":{"rendered":"Calend\u00e1rio e suas fun\u00e7\u00f5es"},"content":{"rendered":"<p><a href=\"http:\/\/linguagemprisma.net\/wp-content\/uploads\/2015\/01\/calendario.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-479\" src=\"http:\/\/linguagemprisma.net\/wp-content\/uploads\/2015\/01\/calendario-300x145.png\" alt=\"calendario\" width=\"300\" height=\"145\" \/><\/a><\/p>\n<p>Lembre-se sempre verifique e baixe a vers\u00e3o da data mais atual poss\u00edvel, blz.<\/p>\n<p>Temos ent\u00e3o um conjunto de fun\u00e7\u00f5es que cria e manipula um calend\u00e1rio, temos os sinais em que<\/p>\n<p>podemos conectar nossos m\u00e9todos e fazer o calend\u00e1rio responder por exemplo ao clicar em uma<\/p>\n<p>data ou passar para o pr\u00f3ximo m\u00eas e ano. Enfim, \u00e9 bastante coisinha, mas leia o c\u00f3digo com<\/p>\n<p>aten\u00e7\u00e3o e ver\u00e1 que n\u00e3o \u00e9 nada dif\u00edcil.<\/p>\n<p>Vamos ao c\u00f3digo:<\/p>\n<pre class=\"lang:prisma decode:true \">\/\/simples calend\u00e1rio\n\ninclua 'igbr'\n\njanela = ig.janela(\"Exemplo Calend\u00e1rio\" );\nig.conecte ( janela , ig.destruido , \"ig.fimjanela( )\" );\n\ncaixah = ig.caixahorizontal ( falso , 0 );\nig.ad ( janela , caixah );\n\ncalendario = ig.calendario(  );\n\nfonte = ig.fonte_descricao_string( \"Arial bold 14\");\n\nig.componente_modifique_fonte ( calendario , fonte );\n\n\n                                                         \n\/\/ Como as variaveis passadas como parametro abaixao nao foram atribuidas ainda\n\/\/logo elas tem valor nulo, portanto desativa todas as opcoes visuais do programa\nig.calendario_opcoes_visual (\n                                                          calendario,\n                                                          mostre_cabecalho,\n                                                          nao_mude_mes,\n                                                          mostre_nomes_dia,\n                                                          mostre_numeros_semana\n                                                 );\n\nig.ad ( caixah , calendario );\n\ncaixav = ig.caixavertical ( falso , 0 );\nig.ad ( caixah , caixav );\n\n\nb_mostre_cabecalho = ig.botao_checagem('mostrar cabe\u00e7alho');\nig.ad ( caixav , b_mostre_cabecalho );\n\nb_nao_mude_mes = ig.botao_checagem ( 'n\u00e3o mude m\u00eas');\nig.ad ( caixav , b_nao_mude_mes );\n\nb_mostre_nomes_dia = ig.botao_checagem ( \"mostrar nome dos dias\");\nig.ad ( caixav , b_mostre_nomes_dia );\n\nb_mostre_numeros_semana = ig.botao_checagem ( \"mostrar numeros das semanas\");\nig.ad ( caixav , b_mostre_numeros_semana );\n\n\n\n\/\/==============================  funcao call back para conectar aos botoes de checagem\n\/\/ Essa funcao abaixo modifica o aspecto visual do calendario conforme o clique dos\n\/\/ botoes checagem\n\nfuncao botao_exec ( comp , num )\n     se num == 1 entao\n           se mostre_cabecalho == nulo entao\n                 mostre_cabecalho = ig.calendario_mostre_cabecalho ;\n           senao\n                mostre_cabecalho = nulo;\n           fim\/\/fim se mostre_cabecalho == nulo\n    senaose num == 2 entao\n            se nao_mude_mes == nulo entao\n                  nao_mude_mes = ig.calendario_nao_mude_mes;\n           senao\n                  nao_mude_mes = nulo;\n           fim\n            \n     senaose num == 3 entao\n\n           se mostre_nomes_dia == nulo entao\n                 mostre_nomes_dia = ig.calendario_mostre_nomes_dia;\n          senao\n                mostre_nomes_dia = nulo;\n          fim\n     senaose num == 4  entao\n\n           se mostre_numeros_semana == nulo entao\n                 mostre_numeros_semana = ig.calendario_mostre_numeros_semana;\n          senao\n                mostre_numeros_semana = nulo;\n          fim\n          \n     fim\n\nig.calendario_opcoes_visual (\n                                                         calendario,\n                                                         mostre_cabecalho,\n                                                         nao_mude_mes,\n                                                         mostre_nomes_dia,\n                                                         mostre_numeros_semana\n                                                   );\n             \nfim \/\/fim funcao\n\n\n\/\/conectando o metodo acima\n\nig.conecte ( b_mostre_cabecalho , ig.clique , \"botao_exec( %s , 1 )\" );\n\nig.conecte( b_nao_mude_mes , ig.clique , 'botao_exec( %s , 2 )' );\n\nig.conecte( b_mostre_nomes_dia , ig.clique , 'botao_exec( %s , 3 )' );\n\nig.conecte ( b_mostre_numeros_semana , ig.clique , 'botao_exec (%s , 4 )' );\n\n\n\n\/\/metodos para obter dados do calend\u00e1rio\n\nfuncao mes_mudado ( calendario )\n\n   local t = ig.calendario_obt_data ( calendario ); \/\/retorna uma tabela com os campos ano, mes e dia;\n\n   imprima (\"mes mudou : \" .. t.mes )    \n\n fim\n\nig.conecte( calendario , ig [ 'mes_mudado' ] , 'mes_mudado(%s)');\n\nfuncao dia_selecionado ( calendario )\n   local t = ig.calendario_obt_data ( calendario );\n  imprima( \"Dia selecionado : \" .. t.dia );\nfim\nig.conecte( calendario , ig['dia_selecionado'] , 'dia_selecionado( %s )' );\n\nfuncao duplo_dia_selecionado ( calendario )\n\n     local t = ig.calendario_obt_data ( calendario );\n     imprima ( \"Duplo clique: dia : \" .. t.dia );\nfim\nig.conecte( calendario , ig.dia_selecionado_duplo_clique , 'duplo_dia_selecionado(%s)' );\n\nfuncao anterior_mes ( calendario )\n    local t = ig.calendario_obt_data ( calendario );\n    imprima( \"Mes anterior : \" .. t.mes );\nfim\n\nig.conecte ( calendario , ig.anterior_mes , 'anterior_mes (%s)' );\n\nfuncao proximo_mes ( calendario )\n      local t = ig.calendario_obt_data ( calendario );\n      imprima( 'Proximo mes: ' .. t.mes );\nfim\nig.conecte( calendario, ig.proximo_mes , 'proximo_mes (%s) ' );\n\n\nfuncao anterior_ano ( calendario )\n\n      local t = ig.calendario_obt_data ( calendario );\n      imprima( 'Ano anterior : ' .. t.ano );\n      \nfim\n\nig.conecte( calendario , ig.anterior_ano , 'anterior_ano( %s )' );\n\n\nfuncao proximo_ano ( calendario )\n     local t = ig.calendario_obt_data ( calendario );\n     imprima( 'Proximo ano : ' ..  t.ano );\nfim\nig.conecte( calendario , ig [ 'proximo_ano'] , 'proximo_ano (%s) ' );\n\n\nig.componente_mostre_todos( janela );\nig.fimprograma( );<\/pre>\n<p>O interessante neste programa \u00e9 que usamos uma caixa vertical dentro de uma horizontal, voc\u00ea<\/p>\n<p>pode fazer isso com quantas caixas quiser, para que seu programa tenha o layout desejado.<\/p>\n<p>Ent\u00e3o, aqui temos algumas novidades:<\/p>\n<p>Criando o calend\u00e1rio:<\/p>\n<pre class=\"lang:prisma decode:true\">calendario = ig.calendario(  );<\/pre>\n<p><strong>O bom \u00e9 que \u00e9 poss\u00edvel modificar a fonte do calend\u00e1rio, veja:<\/strong><\/p>\n<p>carregando a fonte na vari\u00e1vel fonte: (l\u00ea uma descri\u00e7\u00e3o de fonte a partir de uma string)<\/p>\n<pre class=\"lang:prisma decode:true\">fonte = ig.fonte_descricao_string( \"Arial bold 14\");<\/pre>\n<p>atribuindo a fonte ao calend\u00e1rio:<\/p>\n<p>Primeiro par\u00e2metro \u00e9 a vari\u00e1vel do calend\u00e1rio, segundo \u00e9 a vari\u00e1vel da fonte criada anteriormente<\/p>\n<pre class=\"lang:prisma decode:true\">ig.componente_modifique_fonte ( calendario , fonte );<\/pre>\n<p>Poder\u00edamos fazer diretamente assim:<em> ig.componente_modifique_fonte( calendario , &#8220;Arial bold 14&#8221;);<\/em><\/p>\n<p>mas \u00e9 bom dominar as duas maneiras, eu pessoalmente acho mais flex\u00edvel criar a fonte separadamente.<\/p>\n<p><strong>Podemos mudar o visual do calend\u00e1rio mostrando ou escondendo partes dele, permitindo que<\/strong><\/p>\n<p><strong>o m\u00eas e o ano possam ou n\u00e3o ser modificados pelos bot\u00f5es &lt;&lt; ou &gt;&gt;, veja:<\/strong><\/p>\n<pre class=\"lang:prisma decode:true\">ig.calendario_opcoes_visual (\n                                                          calendario,\n                                                          mostre_cabecalho,\n                                                          nao_mude_mes,\n                                                          mostre_nomes_dia,\n                                                          mostre_numeros_semana\n                                                 );<\/pre>\n<p>Bom est\u00e1 fun\u00e7\u00e3o deve ser analisada com paci\u00eancia. Poderia muito bem ter uma fun\u00e7\u00e3o para mostrar<\/p>\n<p>ou esconder cada \u00edtem de cada vez n\u00e3o \u00e9, mas n\u00e3o tem. Voc\u00ea deve usar unicamente esta fun\u00e7\u00e3o,<\/p>\n<p>veja os par\u00e2metros com cuidado:<\/p>\n<p><strong>calendario =<\/strong>\u00a0 a vari\u00e1vel do calend\u00e1rio criado;<\/p>\n<p><strong>mostre_cabecalho = <\/strong>esta \u00e9 uma vari\u00e1vel que criei, seu valor pode ser<em><strong> ig.calendario_mostre_cabecalho<\/strong><\/em> para<\/p>\n<p>mostrar o cabe\u00e7alho ou <em><strong>nulo<\/strong><\/em> para ocultar o cabe\u00e7alho do calend\u00e1rio;<\/p>\n<p><strong>nao_mude_mes =<\/strong>\u00a0 \u00e9 tamb\u00e9m um vari\u00e1vel criada no programa, seu valor pode ser<em> ig.calendario_nao_mude_mes<\/em><\/p>\n<p>para o ano e o m\u00eas n\u00e3o serem alterados pelo usu\u00e1rio ou<em> nulo<\/em> para deixar mudar;<\/p>\n<p><strong>mostre_nomes_dia =<\/strong> outra vari\u00e1vel criada no programa e pode ter o valor de <em>ig.calendario_mostre_nomes_dia<\/em> para<\/p>\n<p>mostrar os nomes dos dias da semana ou <em>nulo<\/em> para ocultar;<\/p>\n<p><strong>mostre_numeros_semana<\/strong> = se seu valor for<em> ig.calendario_mostre_numeros_semana<\/em> os n\u00fameros aparecer\u00e3o na lateral,<\/p>\n<p>se for<em> nulo<\/em> ficam ocultos;<\/p>\n<p><strong>Esta fun\u00e7\u00e3o altera todos os valores,<\/strong> portanto se voc\u00ea passar somente o par\u00e2metro para mostrar nomes<\/p>\n<p>dos dias da semana a fun\u00e7\u00e3o entende que o restante \u00e9 nulo e que n\u00e3o \u00e9 para mostrar,<\/p>\n<p>por isso sempre que cham\u00e1-la ter\u00e1 que passar todos os par\u00e2metros ou nulo;<\/p>\n<p>&nbsp;<\/p>\n<p>Observe que na primeira vez que usei a fun\u00e7\u00e3o ig.calendario_opcoes_visual, joguei as vari\u00e1veis dentro dela sem<\/p>\n<p>declarar uma se quer, lembre-se que em Prisma se voc\u00ea usar uma vari\u00e1vel que n\u00e3o foi atribu\u00eddo nenhum valor<\/p>\n<p>antes, seu valor ent\u00e3o por padr\u00e3o \u00e9 nulo, com isso a fun\u00e7\u00e3o entende que n\u00e3o queremos mostrar nada no<\/p>\n<p>calend\u00e1rio, apenas o b\u00e1sico, por isso ele aparece com visual b\u00e1sico e s\u00f3 vai mudando quando clicamos nos<\/p>\n<p>bot\u00f5es de chechagem.<\/p>\n<p>&nbsp;<\/p>\n<h3>Colocamos o calend\u00e1rio dentro da caixa horizontal:<\/h3>\n<p>note que usamos a fun\u00e7\u00e3o ig.ad ao inv\u00e9s de ig.caixa_ad, com isso os par\u00e2metros que seriam usados<\/p>\n<p>em ig.caixa_ad s\u00e3o omitidos em ig.ad, ficando o valor padr\u00e3o.<\/p>\n<pre class=\"lang:prisma decode:true\">ig.ad ( caixah , calendario );<\/pre>\n<p>criamos uma outra caixa mas vertical e colocamos dentro da caixa horizontal ao lado do calend\u00e1rio:<\/p>\n<pre class=\"lang:prisma decode:true\">caixav = ig.caixavertical ( falso , 0 );\nig.ad ( caixah , caixav );<\/pre>\n<p>&nbsp;<\/p>\n<p>Depois criamos os bot\u00f5es de checagem para mudar o visual do calend\u00e1rio, e colocamos todos eles na caixa vertical:<\/p>\n<p>s\u00f3 o primeiro est\u00e1 aqui para ilustrar, mas s\u00e3o quatro no total<\/p>\n<pre class=\"lang:prisma decode:true\">b_mostre_cabecalho = ig.botao_checagem('mostrar cabe\u00e7alho');\nig.ad ( caixav , b_mostre_cabecalho );<\/pre>\n<p>&nbsp;<\/p>\n<p>Se voc\u00ea ainda n\u00e3o entendeu para que foi preciso criar outra caixa veja a ilustra\u00e7\u00e3o do layout abaixo:<\/p>\n<p><a href=\"http:\/\/linguagemprisma.net\/wp-content\/uploads\/2015\/01\/layout_calendario.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-502\" src=\"http:\/\/linguagemprisma.net\/wp-content\/uploads\/2015\/01\/layout_calendario-300x221.png\" alt=\"layout_calendario\" width=\"389\" height=\"287\" \/><\/a><\/p>\n<p>Criamos a fun\u00e7\u00e3o callback para responder aos cliques dos bot\u00f5es de checagem:<\/p>\n<pre class=\"lang:prisma decode:true\">funcao botao_exec ( comp , num )<\/pre>\n<p><strong>comp<\/strong> \u00e9 o pr\u00f3prio bot\u00e3o passado atrav\u00e9s do par\u00e2metro %s na fun\u00e7\u00e3o ig.conecte, e <strong>num<\/strong> \u00e9 uma vari\u00e1vel<\/p>\n<p>do tipo n\u00famero para saber qual bot\u00e3o foi clicado e assim qual visual mostrar ou esconder no calend\u00e1rio;<\/p>\n<p><span style=\"color: #993366;\">D\u00ea uma olhada bem cuidadosa no c\u00f3digo fonte, modifique alguns par\u00e2metros, execute no <\/span><\/p>\n<p><span style=\"color: #993366;\">prismacod.exe e aos poucos tenha certeza que voc\u00ea vai entender melhor cada fun\u00e7\u00e3o neste <\/span><\/p>\n<p><span style=\"color: #993366;\">exemplo. Use a vontade os exemplos, copie e cole nos programas que voc\u00ea criar futuramente, <\/span><\/p>\n<p><span style=\"color: #993366;\">afinal, \u00e9 dif\u00edcil mesmo lembrar de cada fun\u00e7\u00e3o, eu mesmo sempre volto nos exemplos ao fazer <\/span><\/p>\n<p><span style=\"color: #993366;\">um programa novo.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3>Conectando a fun\u00e7\u00e3o botao_exec nos bot\u00f5es de checagem: (apenas um para ilustrar)<\/h3>\n<pre class=\"lang:prisma decode:true\">ig.conecte ( b_mostre_cabecalho , ig.clique , \"botao_exec( %s , 1 )\" );<\/pre>\n<p>&nbsp;<\/p>\n<p>Depois disso, temos os m\u00e9todos conectados aos eventos do calend\u00e1rio:<\/p>\n<pre class=\"lang:prisma decode:true\">funcao mes_mudado ( calendario )\n \n   local t = ig.calendario_obt_data ( calendario ); \/\/retorna uma tabela com os campos ano, mes e dia;\n \n   imprima (\"mes mudou : \" .. t.mes )    \n \nfim\n \nig.conecte( calendario , ig [ 'mes_mudado' ] , 'mes_mudado(%s)');<\/pre>\n<p>esta \u00e9 a fun\u00e7\u00e3o mes_mudado que responde ao evento ig.mes_mudado ( ou ig [ &#8216;mes_mudado&#8217; ] ), isto \u00e9 cada vez que<\/p>\n<p>o m\u00eas do calend\u00e1rio \u00e9 alterado esta fun\u00e7\u00e3o \u00e9 chamada, e dentro dela h\u00e1 outra fun\u00e7\u00e3o que retorna uma tabela<\/p>\n<p>contendo os campos ano, mes, dia, veja:<\/p>\n<pre class=\"lang:prisma decode:true\">local t = ig.calendario_obt_data ( calendario );<\/pre>\n<p>local t \u00e9 porque n\u00e3o queremos que a vari\u00e1vel t seja acessada fora da fun\u00e7\u00e3o, veja que t recebe os<\/p>\n<p>campos t.ano, t.dia e t.mes, mas aqui usaremos somente o t.mes.<\/p>\n<p>A outras fun\u00e7\u00f5es s\u00e3o id\u00eanticas s\u00f3 mudando o evento e o campo da vari\u00e1vel t, veja os outros eventos:<\/p>\n<div id=\"crayon-54b14cc8dc570503595617-123\" class=\"crayon-line\"><strong><span class=\"crayon-r\">ig<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">conecte<\/span><span class=\"crayon-sy\">(<\/span> <span class=\"crayon-i\">calendario<\/span> <span class=\"crayon-sy\">,<\/span> <span class=\"crayon-r\">ig<\/span><span class=\"crayon-sy\">[<\/span><span class=\"crayon-s\">&#8216;dia_selecionado&#8217;<\/span><span class=\"crayon-sy\">]<\/span> <span class=\"crayon-sy\">,<\/span> <span class=\"crayon-s\">&#8216;dia_selecionado( %s )&#8217;<\/span> <span class=\"crayon-sy\">)<\/span><\/strong><span class=\"crayon-sy\"><strong>;<\/strong> reponde ao clique<br \/>\n<\/span><\/div>\n<div class=\"crayon-line\">em um determinado dia;<\/div>\n<p><strong><span class=\"crayon-r\">ig<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">conecte<\/span><span class=\"crayon-sy\">(<\/span> <span class=\"crayon-i\">calendario<\/span> <span class=\"crayon-sy\">,<\/span> <span class=\"crayon-r\">ig<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">dia_selecionado_duplo<\/span><span class=\"crayon-sy\">_<\/span>clique <span class=\"crayon-sy\">,<\/span> <span class=\"crayon-s\">&#8216;duplo_dia_selecionado(%s)&#8217;<\/span> <span class=\"crayon-sy\">);<\/span><\/strong><\/p>\n<p>responde a um duplo clique em um determinado dia;<\/p>\n<div id=\"crayon-54b14cc8dc570503595617-137\" class=\"crayon-line\"><strong><span class=\"crayon-r\">ig<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">conecte<\/span> <span class=\"crayon-sy\">(<\/span> <span class=\"crayon-i\">calendario<\/span> <span class=\"crayon-sy\">,<\/span> <span class=\"crayon-r\">ig<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">anterior<\/span><span class=\"crayon-sy\">_<\/span>mes <span class=\"crayon-sy\">,<\/span> <span class=\"crayon-s\">&#8216;anterior_mes (%s)&#8217;<\/span> <span class=\"crayon-sy\">)<\/span><\/strong><span class=\"crayon-sy\"><strong>;<\/strong> responde ao atrasar um<br \/>\n<\/span><\/div>\n<div class=\"crayon-line\">m\u00eas;<\/div>\n<div class=\"crayon-line\">\n<div id=\"crayon-54b14cc8dc570503595617-143\" class=\"crayon-line\"><strong><span class=\"crayon-r\">ig<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">conecte<\/span><span class=\"crayon-sy\">(<\/span> <span class=\"crayon-v\">calendario<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-r\">ig<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">proximo<\/span><span class=\"crayon-sy\">_<\/span>mes <span class=\"crayon-sy\">,<\/span> <span class=\"crayon-s\">&#8216;proximo_mes (%s) &#8216;<\/span> <span class=\"crayon-sy\">)<\/span><\/strong><span class=\"crayon-sy\"><strong>;<\/strong> responde ao adiantar um<br \/>\n<\/span><\/div>\n<div class=\"crayon-line\">m\u00eas;<\/div>\n<div class=\"crayon-line\">\n<div id=\"crayon-54b14cc8dc570503595617-153\" class=\"crayon-line\"><strong><span class=\"crayon-r\">ig<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">conecte<\/span><span class=\"crayon-sy\">(<\/span> <span class=\"crayon-i\">calendario<\/span> <span class=\"crayon-sy\">,<\/span> <span class=\"crayon-r\">ig<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">anterior<\/span><span class=\"crayon-sy\">_<\/span>ano <span class=\"crayon-sy\">,<\/span> <span class=\"crayon-s\">&#8216;anterior_ano( %s )&#8217;<\/span> <span class=\"crayon-sy\">)<\/span><\/strong><span class=\"crayon-sy\"><strong>;<\/strong> ao atrasar um ano;<br \/>\n<\/span><\/div>\n<div id=\"crayon-54b14cc8dc570503595617-154\" class=\"crayon-line crayon-striped-line\">\n<div id=\"crayon-54b14cc8dc570503595617-160\" class=\"crayon-line crayon-striped-line\"><strong><span class=\"crayon-r\">ig<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">conecte<\/span><span class=\"crayon-sy\">(<\/span> <span class=\"crayon-i\">calendario<\/span> <span class=\"crayon-sy\">,<\/span> <span class=\"crayon-r\">ig<\/span> <span class=\"crayon-sy\">[<\/span> <span class=\"crayon-s\">&#8216;proximo_ano&#8217;<\/span><span class=\"crayon-sy\">]<\/span> <span class=\"crayon-sy\">,<\/span> <span class=\"crayon-s\">&#8216;proximo_ano (%s) &#8216;<\/span> <span class=\"crayon-sy\">)<\/span><\/strong><span class=\"crayon-sy\"><strong>;<\/strong> ao adiantar um ano;<br \/>\n<\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\">As duas formas s\u00e3o v\u00e1lidas tanto ig.proximo_ano quanto ig [ &#8220;proximo_ano&#8221; ] , s\u00e3o<\/div>\n<div class=\"crayon-line crayon-striped-line\">equivalentes e isto pode ser feito com qualquer campo de tabela.<\/div>\n<div class=\"crayon-line crayon-striped-line\"><\/div>\n<div class=\"crayon-line crayon-striped-line\"><span style=\"color: #000080;\"><strong><em>Cada vez que um evento desses acima acontece, a fun\u00e7\u00e3o conectada \u00e9 executada.<\/em><\/strong><\/span><\/div>\n<div class=\"crayon-line crayon-striped-line\"><\/div>\n<div class=\"crayon-line crayon-striped-line\">Mais adiante vou fazer outro post sobre calend\u00e1rio colocando novas fun\u00e7\u00f5es, por enquanto \u00e9 s\u00f3.<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>Bom, \u00e9 isso a\u00ed, espero que possa ser \u00fatil, qualquer d\u00favida postem no f\u00f3rum, ou deixem uma resposta ao pos, ok!<\/p>\n<p>Att. Adalberto<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lembre-se sempre verifique e baixe a vers\u00e3o da data mais atual poss\u00edvel, blz. Temos ent\u00e3o um conjunto de fun\u00e7\u00f5es que cria e manipula um calend\u00e1rio, temos os sinais em que podemos conectar nossos m\u00e9todos e fazer o calend\u00e1rio responder por exemplo ao clicar em uma data ou passar para o pr\u00f3ximo m\u00eas e ano. Enfim,&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,5],"tags":[],"class_list":["post-478","post","type-post","status-publish","format-standard","hentry","category-igprisma","category-interface_grafica"],"_links":{"self":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/posts\/478","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/comments?post=478"}],"version-history":[{"count":0,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/posts\/478\/revisions"}],"wp:attachment":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/media?parent=478"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/categories?post=478"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/tags?post=478"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}