Olá gente boa, tudo bem com vocês?
Na dica rápida de hoje, vamos abordar sobre dois métodos que podem ser úteis em suas rotinas do dia a dia. Estamos falando dos métodos "EncodeDate" e "DecodeDate".
EncodeDate
O método EncodeDate, presente na unit System.SysUtils, é uma função que, passados por parâmetro separadamente o dia, mês e ano, retornará uma data completa do tipo TDateTime.
Em determinados momentos, as vezes se torna necessário desmontarmos uma data, para efetuar cálculos ou qualquer outro tratamento com datas, como por exemplo, calcular o dia útil de uma determinada data para vencimento de faturas geradas no sistema em uma rotina de faturamento de venda por exemplo, e após isso, precisamos montar novamente a data com o dia correto.
Em um cenário como esse, entra em ação o método EncodeDate, que faz justamente isso, ele monta uma data completa, unindo o dia, mês e ano passados por parâmetro.
Algumas considerações acerca do método EncodeDate são:
- O valor referente ao ano passado por parâmetro, deve ser de 1 a 9999;
- O valor referente ao mês passado por parâmetro, é considerado válido de 1 a 12;
- O valor referente ao dia, podem ir de 1 a 28, 29, 30 ou 31, dependendo do mês passado por parâmetro, por exemplo, para o mês 02 (fevereiro), podemos ter um cenário de 1 a 28 ou 1 a 29, dependendo do ano, se for bissexto;
Para vermos o funcionamento desse método na prática, criamos um exemplo que pede ao usuário informar um dia, mês e ano, e no final, o algoritmo exibirá a data completa (montada), de acordo com os dados informados. Segue o código:
Após pedir ao usuário para informar cada um desses dados, os mesmos são guardados dentro de suas respectivas variáveis.
Em seguida, chamamos o método EncodeDate repassando esses dados entrados por parâmetro, e o retorno dessa função, será armazenado na variável lData.
Por fim, exibimos na tela a data gerada. Simples, fácil e prático.
Ok, se tem como encodar uma data, também tem como decodar. É nosso próximo assunto.
DecodeDate
Este método, também presente na unit System.SysUtils, faz o inverso do método anterior. Esta procedure, recebe por parâmetro uma data completa, e a mesma é desmontada pelo método, e esse desmembramento é devolvido dentro dos demais parâmetros para dia, mês e ano, que também devem ser passados por parâmetro, ou seja, o método quebra e retorna os valores para dia, mês e ano separadamente, de uma determinada data passada por parâmetro do tipo TDateTime.
- Se o ano da data for negativo, os valores para dia, mês e ano será ZERO;
Por fim, apenas exibimos o conteúdo delas em uma mensagem impressa no console, agregando uma frase personalizada.
Muito bem clipatequeiros de plantão, assim chegamos ao final dessa dica, codifique os exemplos e teste.
Em algum momento esses métodos serão úteis pra você. Alguns programadores por desconhecerem esses métodos, ao precisar separar o mês de uma data por exemplo, recorrem aos famosos métodos Copy e Pos, mas esse malabarismo todo cai por terra, com a utilização desses métodos nativos apresentados nesse artigo.
Um grande abraço, e até a próxima.
0 comments:
Postar um comentário
Visite nossa página de Política de comentarios antes de comentar para ter certeza de que seu comentário não será excluído! Lembre-se, assim que aprovarmos o teu comentário ele será publicado, por isso, não deixe de sempre visitar nosso blog e conferir nossa resposta ao seu comentário, abraço!