Lunar.Pas :
這是國曆與農曆互轉的Unit.
其中年份皆用民國年份, 請自行轉換(公元年-1911 = 民國年).
*國農曆對映表之說明: *
* 前二數字= 閏月月份, 若為13 則沒有閏月*
* 第叁至第六數字= 12 個月之大小月之2進位碼->10進位*
* 例如: *
* 101010101010 = 2730 *
* 1 : 代表大月(30天) 0 : 代表小月(29天) ==> 1月大2月小3月大..... *
* 第七位數為閏月天數*
* 0 : 沒有閏月之天數*
* 1 : 閏月為小月(29天) *
* 2 : 閏月為大月(30天) *
* 最後2位數字代表陽曆之1月1日與陰曆之1月1日相差天數*
************************************************** *****
這對映表只有民國一年至民國一百年, 如不敷您的使用請按照上述之方式自行增加. :)
這個程式沒有判斷您所輸入之年,月,日是否正確, 請自行判斷. :(
若轉換出來之農曆的月份是閏月則傳給您的值是***負數***
若農曆要轉換國曆如果是閏月請輸入***負數***
此版本為FreeWare Version : 0.1
您可以自行修改, 但最好可以將修改過之程序Mail一份給我.
如果您要用於商業用途, 請發郵件給我告知您的用途及原因.
作者: 彭宏傑E-Mail : [email protected]
//國曆轉農曆(民國年, 月, 日, var 農曆年, 農曆月, 農曆日)
procedure Solar2Lunar(SYear, SMonth, SDay : Integer; Var LYear, LMonth, LDay : Integer);
//農曆轉國曆(農曆年, 農曆月, 農曆日, var 民國年, 月, 日)
procedure Lunar2Solar(LYear, LMonth, LDay : Integer; Var SYear, SMonth, SDay : Integer);
//輸入農曆年份換算六十甲子名稱
function YearName(LYear : integer) : string;
//得知農曆月份天數
function DaysPerLunarMonth(LYear, LMonth : Integer) : Integer;
cal.Pas :
國曆與農曆合而為一之月曆. (不用Delpi 3.0 中文應用組件)
(範圍: 民國一年至民國一百年)
新增Property :
LYear : 農曆之民國年份LMonth : 農曆之月份(負數為閏月)
LDay : 農曆之天數LYearName : 農曆之六十甲子名稱(readonly)
作者: 彭宏傑E-Mail : [email protected]
此版本為FreeWare, 可自由散播, 但盡量保持其完整性, 如有Bug請E-Mail給我,
如您要更改也請E-Mail一份給我. OK! :)