使用 comboBox 來建立天干地支選單
array ^ tangun=gcnew array {"甲","乙","丙","丁","戊","己","庚","辛","壬","癸"};
array ^ dize=gcnew array {"子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"};
int i=0,j=0,count=0;
while(count<60){
comboBox4->Items->Insert(count,tangun[i]+dize[j]);
i++;j++,count++;
i=i%10;j=j%12;
}
comboBox4->SelectedIndex=0;
上面預設選項是 0
再論天干地支與民國或西元間的轉換公式
首先須做一個六十甲子表,然後來推轉換公式,配合上列程式,count 就是序號。
count =0,甲子
count =1,乙丑
count =2,丙寅
...
count =59,癸亥
count =60,甲子
先與實際的干支定位,查農民曆知民國六十年為辛亥,序號count 就是47.西元就是60+1911=1971
依據干支60年循環一次,我們得知
民國六十年 = (60+47)%60=47,count =47 查六十甲子表= 辛亥
西元1971年 = (1971-1911+47)%60=47,count =47 查六十甲子表= 辛亥
依據上述可以歸納出一個公式
西元 count = (year-1911+47)%60
民國 count = (year+47)%60
然後可以設定選單
int year=1971; //西元
count=(year-1911+47)%60;
comboBox4->SelectedIndex=count;
這樣就把它轉成今年了
沒有留言:
張貼留言
請提供您的寶貴意見 ;-)