以文本方式查看主题

-  中华农历论坛  (http://bbs.nongli.net/index.asp)
--  历法知识  (http://bbs.nongli.net/list.asp?boardid=2)
----  [原创]寿星万年历的CPP版本  (http://bbs.nongli.net/dispbbs.asp?boardid=2&id=73239)

--  作者:lifulinghan
--  发布时间:2017/8/28 23:06:00
--  [原创]寿星万年历的CPP版本
有幸看到了许剑伟先生的寿星万年历,感觉功能很是强大,于是决定将代码转换成C++版本。
代码奉上:https://github.com/yuangu/sxtwl_cpp
--  作者:paradise300
--  发布时间:2017/8/30 13:45:00
--  
确实不易。

8年前,我用C++重构过,后来发现里面有很多地方需要优化,经过一千多次的修改和优化,等于全部都改了,如今出来的Lunar.dll效果不错。发个MFC的Demo给大家看看。同时,还增加了Excel版本的插件(LunarX.xll)
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:calendar.zip



--  作者:lucky888
--  发布时间:2017/8/31 20:02:00
--  
都是神人,膜拜!
--  作者:lucky888
--  发布时间:2017/8/31 20:41:00
--  


以下是引用lifulinghan在2017-8-28 23:06:00的发言:



有幸看到了许剑伟先生的寿星万年历,感觉功能很是强大,于是决定将代码转换成C++版本。代码奉上:https://github.com/yuangu/sxtwl_cpp


你的代码在linux环境编译有一些问题:
1. JD.h中少了 #include
2. lunar.h中少了#include
3. CMakeLists.txt对于linux平台支持不好,可能是楼主没有考虑在linux平台使用吧
可以在CMakeLists.txt中加入:
SET(CMAKE_C_COMPILER g++)
if(CMAKE_COMPILER_IS_GNUCXX)
  add_compile_options(-std=c++11) 
endif(CMAKE_COMPILER_IS_GNUCXX)
--  作者:warmb
--  发布时间:2017/11/26 22:12:00
--  
大神还在么,我看到好几个月没有更新代码了~~
--  作者:warmb
--  发布时间:2017/11/30 22:35:00
--  
使用楼主的c++版封装了一份python的

https://github.com/warmb2009/sxtwl_swig_py
--  作者:lifulinghan
--  发布时间:2018/9/21 14:12:00
--  
我已经绑定到各种语言版本上了。
android:https://my.oschina.net/jjyuangu/blog/2120417
python:https://my.oschina.net/jjyuangu/blog/1924020

其它的可以直接去github上找编译方法。
--  作者:vingt
--  发布时间:2019/1/5 16:09:00
--  
 for i in range(13):    Day = lunar.getDayByLunar(2017,i+1,20,False)    print str(i+1) + \':\'    PrintDay(lunar,Day,13)for i in range(13):    Day = lunar.getDayByLunar(2017,i+1,20,True)    print str(i+1) + \':\'    PrintDay(lunar,Day,13)我使用了如上两份代码(片断),均无法得到农历十月的数据。。请问是怎么回事呢?(九月之后直接上冬月)而且我用这个代码段也一样不行:Day = lunar.getDayByLunar(2017,i+1,20)最上两段代码输出分别如下:1:公历:2017年2月16日13时农历:2017年正月二十日未时干支:丁酉年壬寅月甲戌日辛未时2:公历:2017年3月17日13时农历:2017年二月二十日未时干支:丁酉年癸卯月癸卯日己未时3:公历:2017年4月16日13时农历:2017年三月二十日未时干支:丁酉年甲辰月癸酉日己未时4:公历:2017年5月15日13时农历:2017年四月二十日未时干支:丁酉年乙巳月壬寅日丁未时5:公历:2017年6月14日13时农历:2017年五月二十日未时干支:丁酉年丙午月壬申日丁未时6:公历:2017年7月13日13时农历:2017年六月二十日未时干支:丁酉年丁未月辛丑日乙未时7:公历:2017年8月11日13时农历:闰2017年六月二十日未时干支:丁酉年戊申月庚午日癸未时8:公历:2017年9月10日13时农历:2017年七月二十日未时干支:丁酉年己酉月庚子日癸未时9:公历:2017年10月9日13时农历:2017年八月二十日未时干支:丁酉年庚戌月己巳日辛未时10:公历:2017年11月8日13时农历:2017年九月二十日未时干支:丁酉年辛亥月己亥日辛未时11:公历:2018年1月6日13时农历:2017年冬月二十日未时干支:丁酉年癸丑月戊戌日己未时12:公历:2018年2月5日13时农历:2017年腊月二十日未时干支:戊戌年甲寅月戊辰日己未时13:公历:2018年1月6日13时农历:2017年冬月二十日未时干支:丁酉年癸丑月戊戌日己未时1:公历:2017年2月16日13时农历:2017年正月二十日未时干支:丁酉年壬寅月甲戌日辛未时2:公历:2017年3月17日13时农历:2017年二月二十日未时干支:丁酉年癸卯月癸卯日己未时3:公历:2017年4月16日13时农历:2017年三月二十日未时干支:丁酉年甲辰月癸酉日己未时4:公历:2017年5月15日13时农历:2017年四月二十日未时干支:丁酉年乙巳月壬寅日丁未时5:公历:2017年6月14日13时农历:2017年五月二十日未时干支:丁酉年丙午月壬申日丁未时6:公历:2017年8月11日13时农历:闰2017年六月二十日未时干支:丁酉年戊申月庚午日癸未时7:公历:2017年8月11日13时农历:闰2017年六月二十日未时干支:丁酉年戊申月庚午日癸未时8:公历:2017年9月10日13时农历:2017年七月二十日未时干支:丁酉年己酉月庚子日癸未时9:公历:2017年10月9日13时农历:2017年八月二十日未时干支:丁酉年庚戌月己巳日辛未时10:公历:2017年11月8日13时农历:2017年九月二十日未时干支:丁酉年辛亥月己亥日辛未时11:公历:2018年1月6日13时农历:2017年冬月二十日未时干支:丁酉年癸丑月戊戌日己未时12:公历:2018年2月5日13时农历:2017年腊月二十日未时干支:戊戌年甲寅月戊辰日己未时13:公历:2018年1月6日13时农历:2017年冬月二十日未时干支:丁酉年癸丑月戊戌日己未时