Lunar.Pas:
Esta é uma Unidade onde o calendário nacional e o calendário lunar se alternam.
Os anos estão todos no ano da República da China, converta você mesmo (Ano 1911 = Ano da República da China).
*Explicação da Tabela de Correspondência do Calendário Lunar Chinês: *
*Os dois primeiros dígitos = mês bissexto, se for 13, não há mês bissexto*
* Do terceiro ao sexto dígito = o código binário do tamanho dos 12 meses -> o decimal*
* Por exemplo: *
*101010101010 = 2730*
* 1: representa o mês grande (30 dias) 0: representa o mês pequeno (29 dias) ==> 1 mês, 2 meses pequeno, 3 meses... *
*O sétimo dígito é o número de dias do mês bissexto*
* 0: Número de dias sem mês bissexto*
*1: Um mês bissexto é um mês pequeno (29 dias)*
*2: Mês bissexto é um mês grande (30 dias) *
*Os dois últimos dígitos representam o número de dias de diferença entre 1º de janeiro do calendário solar e 1º de janeiro do calendário lunar*
************************************************** * *****
Esta tabela de mapeamento cobre apenas o primeiro ano da República da China ao primeiro ano da República da China. Se não for suficiente para seu uso, adicione-o você mesmo de acordo com o método acima :).
Este programa não determina se o ano, mês e dia inseridos estão corretos.
Se o mês lunar convertido for um mês bissexto, o valor passado para você será um ***número negativo***
Se desejar converter o calendário lunar para o calendário nacional, se for um mês bissexto, insira um ***número negativo***
Esta versão é FreeWare Versão: 0.1
Você mesmo pode modificá-lo, mas é melhor me enviar por e-mail uma cópia do programa modificado.
Se você quiser usá-lo para fins comerciais, envie-me um e-mail para me informar sua finalidade e motivo.
Autor: Peng Hongjie E-mail: [email protected]
//Converter do calendário nacional para o calendário lunar (ano, mês, dia, var ano lunar, mês lunar, dia lunar da República da China)
procedimento Solar2Lunar(SYear, SMonth, SDay: Inteiro; Var LYear, LMonth, LDay: Inteiro);
//Converter do calendário lunar para o calendário nacional (ano lunar, mês lunar, dia lunar, var ano, mês, dia da República da China)
procedimento Lunar2Solar (LYear, LMonth, LDay: Inteiro; Var SYear, SMonth, SDay: Inteiro);
//Insira o ano lunar para converter o nome dos sessenta anos
função NomeAno (LYear: inteiro): string;
//Obtém o número de dias do mês lunar
função DaysPerLunarMonth (LYear, LMonth: Inteiro): Inteiro;
cal.Pas :
Um calendário mensal que combina o calendário nacional e o calendário lunar em um só (não requer o componente de aplicativo chinês Delpi 3.0).
(Intervalo: 1º ano da República da China ao 100º ano da República da China)
Nova propriedade:
LAno: Ano do calendário lunar da República da China LMês: Mês do calendário lunar (os números negativos são meses bissextos)
LDay: O número de dias no calendário lunar LYearName: O nome do período de sessenta anos no calendário lunar (somente leitura)
Autor: Peng Hongjie E-mail: [email protected]
Esta versão é FreeWare e pode ser distribuída gratuitamente, mas tente manter sua integridade. Se houver algum bug, envie-me um e-mail.
Se você quiser fazer alterações, envie-me uma cópia por e-mail, OK :)