哪位高手能把寿星万年历的源代码转换成VB6
答案:1 悬赏:50 手机版
解决时间 2021-02-19 06:41
- 提问者网友:星軌
- 2021-02-18 14:19
哪位高手能把寿星万年历的源代码转换成VB6
最佳答案
- 五星知识达人网友:人间朝暮
- 2021-02-18 14:56
转成C++的有,VB6的没有。C++的库从刚开始转换,到修改完美,这个过程经历了6年多。因此,我想,不会有人能够有这么多的精力,为了一个采纳和几个知道财富值、经验值帮你去完成这个任务的,如果你只是想写个万年历程序的,就没必要这么大费精力地去转换了。如果有需要,我这里刚好有比寿星更好的C++的dll库可以提供给你。
● 示例代码:
==============================================================================
显式调用:
#include "lunar.h"
#include <iostream>
using namespace std;
using namespace LUNAR;
static TCHAR* szDName[30]={_T("初一"),_T("初二"),_T("初三"),_T("初四"),_T("初五"),_T("初六"),_T("初七"),_T("初八"),_T("初九"),_T("初十"),_T("十一"),_T("十二"),_T("十三"),_T("十四"),_T("十五"),_T("十六"),_T("十七"),_T("十八"),_T("十九"),_T("二十"),_T("廿一"),_T("廿二"),_T("廿三"),_T("廿四"),_T("廿五"),_T("廿六"),_T("廿七"),_T("廿八"),_T("廿九"),_T("三十")};
static TCHAR* szMName[12]={_T("正月"),_T("二月"),_T("三月"),_T("四月"),_T("五月"),_T("六月"),_T("七月"),_T("八月"),_T("九月"),_T("十月"),_T("十一月"),_T("十二月")};
static TCHAR* szTrunk[10]={_T("甲"),_T("乙"),_T("丙"),_T("丁"),_T("戊"),_T("己"),_T("庚"),_T("辛"),_T("壬"),_T("癸")};
static TCHAR* szBranch[12]={_T("子"),_T("丑"),_T("寅"),_T("卯"),_T("辰"),_T("巳"),_T("午"),_T("未"),_T("申"),_T("酉"),_T("戌"),_T("亥")};
static TCHAR* szShengxiao[12]={_T("鼠"),_T("牛"),_T("虎"),_T("兔"),_T("龙"),_T("蛇"),_T("马"),_T("羊"),_T("猴"),_T("鸡"),_T("狗"),_T("猪")};
static TCHAR* szWeek[7]={_T("星期日"),_T("星期一"),_T("星期二"),_T("星期三"),_T("星期四"),_T("星期五"),_T("星期六")};
static TCHAR* szXingzuo[12]={_T("摩羯座"),_T("水瓶座"),_T("双鱼座"),_T("白羊座"),_T("金牛座"),_T("双子座"),_T("巨蟹座"),_T("狮子座"),_T("处女座"),_T("天秤座"),_T("天蝎座"),_T("射手座")};
static TCHAR* szSTerm[24]={_T("立春"),_T("雨水"),_T("惊蛰"),_T("春分"),_T("清明"),_T("谷雨"),_T("立夏"),_T("小满"),_T("芒种"),_T("夏至"),_T("小暑"),_T("大暑"),_T("立秋"),_T("处暑"),_T("白露"),_T("秋分"),_T("寒露"),_T("霜降"),_T("立冬"),_T("小雪"),_T("大雪"),_T("冬至"),_T("小寒"),_T("大寒")};
static TCHAR* szShujiu[9]={_T("一九"),_T("二九"),_T("三九"),_T("四九"),_T("五九"),_T("六九"),_T("七九"),_T("八九"),_T("九九")};
static TCHAR* szMeiyu[2]={_T("入梅"),_T("出梅")};
static TCHAR* szFuri[3]={_T("初伏"),_T("中伏"),_T("末伏")};
static TCHAR* szSheri[2]=(_T("春社日"),_T("秋社日"));
static TCHAR* szLPhase]={_T("朔"),_T("上弦"),_T("望"),_T("下弦")};
//在函数中添加以下代码片段
CLunarInterface * pLunarIf = NULL;
CLunar * pLunar = NULL;//类指针对象
HINSTANCE hLunarDll=LoadLibrary(_T("Lunar.dll"));//加载DLL
if (hLunarDll==INVALID_HANDLE_VALUE)
{
cout<<"加载Lunar.dll失败!请检查是否有读取权限或文件路径是否正确。"<<endl;
return;
}
pLunarIfMgr GetInterface=(pLunarIfMgr)GetProcAddress(hLunarDll,"GetLunarInterface");
if (!LunarInterface)
{
cout<<"获取接口失败,请检查DLL文件版本或完整性。"<<endl;
return;
}else
{
pLunarIf=GetInterface();//获取接口类
if (pLunarIf)
{
pLunarIf->GetClassPtr(CT_Lunar,(void **)&pLunar);
}else
{
cout<<"获取接口类失败"<<endl;
return;
}
}
if (pLunar)
{
pLunar->GDateToLDate(,);//调用
}
//----------------------------------------------------------------------------
//卸载
if (pLunarIf)
{
if (pLunar)
{
pLunarIf->ReleaseClassPtr((void **)&pLunar);//此行代码可加可不加,因为最终释放接口时会自动释放指针
}
pLunarIf->ReleaseInterface();
pLunarIf=NULL;
}
if (hLunarDll!=NULL)
{
FreeLibrary(hLunarDll);//释放DLL
hLunarDll=NULL;
}
==============================================================================
隐式链接:
#define USING_LUNAR_STATIC
#include "Lunar.h"
#pragma comment(lib,"lunar.lib") //或是直接在项目属性中的链接器中添加库文件
using namespace LUNAR;
CLunarInterface * pLunarIf = GetLunarInterface();
Clunar * pLunar = NULL;
if (pLunarIf)
{
pLunarIf->GetClassPtr(CT_Lunar, (void **)&pLunar);
if (pLunar)
{
pLunar->GDateToLDate(,);//调用
}
}
//----------------------------------------------------------------------------
//释放
if (pLunarIf)
{
if (pLunar)
{
pLunarIf->ReleaseClassPtr((void **)&pLunar);//此行代码可加可不加,因为最终释放接口时会自动释放指针
}
pLunarIf->ReleaseInterface();
pLunarIf=NULL;
}
● 示例代码:
==============================================================================
显式调用:
#include "lunar.h"
#include <iostream>
using namespace std;
using namespace LUNAR;
static TCHAR* szDName[30]={_T("初一"),_T("初二"),_T("初三"),_T("初四"),_T("初五"),_T("初六"),_T("初七"),_T("初八"),_T("初九"),_T("初十"),_T("十一"),_T("十二"),_T("十三"),_T("十四"),_T("十五"),_T("十六"),_T("十七"),_T("十八"),_T("十九"),_T("二十"),_T("廿一"),_T("廿二"),_T("廿三"),_T("廿四"),_T("廿五"),_T("廿六"),_T("廿七"),_T("廿八"),_T("廿九"),_T("三十")};
static TCHAR* szMName[12]={_T("正月"),_T("二月"),_T("三月"),_T("四月"),_T("五月"),_T("六月"),_T("七月"),_T("八月"),_T("九月"),_T("十月"),_T("十一月"),_T("十二月")};
static TCHAR* szTrunk[10]={_T("甲"),_T("乙"),_T("丙"),_T("丁"),_T("戊"),_T("己"),_T("庚"),_T("辛"),_T("壬"),_T("癸")};
static TCHAR* szBranch[12]={_T("子"),_T("丑"),_T("寅"),_T("卯"),_T("辰"),_T("巳"),_T("午"),_T("未"),_T("申"),_T("酉"),_T("戌"),_T("亥")};
static TCHAR* szShengxiao[12]={_T("鼠"),_T("牛"),_T("虎"),_T("兔"),_T("龙"),_T("蛇"),_T("马"),_T("羊"),_T("猴"),_T("鸡"),_T("狗"),_T("猪")};
static TCHAR* szWeek[7]={_T("星期日"),_T("星期一"),_T("星期二"),_T("星期三"),_T("星期四"),_T("星期五"),_T("星期六")};
static TCHAR* szXingzuo[12]={_T("摩羯座"),_T("水瓶座"),_T("双鱼座"),_T("白羊座"),_T("金牛座"),_T("双子座"),_T("巨蟹座"),_T("狮子座"),_T("处女座"),_T("天秤座"),_T("天蝎座"),_T("射手座")};
static TCHAR* szSTerm[24]={_T("立春"),_T("雨水"),_T("惊蛰"),_T("春分"),_T("清明"),_T("谷雨"),_T("立夏"),_T("小满"),_T("芒种"),_T("夏至"),_T("小暑"),_T("大暑"),_T("立秋"),_T("处暑"),_T("白露"),_T("秋分"),_T("寒露"),_T("霜降"),_T("立冬"),_T("小雪"),_T("大雪"),_T("冬至"),_T("小寒"),_T("大寒")};
static TCHAR* szShujiu[9]={_T("一九"),_T("二九"),_T("三九"),_T("四九"),_T("五九"),_T("六九"),_T("七九"),_T("八九"),_T("九九")};
static TCHAR* szMeiyu[2]={_T("入梅"),_T("出梅")};
static TCHAR* szFuri[3]={_T("初伏"),_T("中伏"),_T("末伏")};
static TCHAR* szSheri[2]=(_T("春社日"),_T("秋社日"));
static TCHAR* szLPhase]={_T("朔"),_T("上弦"),_T("望"),_T("下弦")};
//在函数中添加以下代码片段
CLunarInterface * pLunarIf = NULL;
CLunar * pLunar = NULL;//类指针对象
HINSTANCE hLunarDll=LoadLibrary(_T("Lunar.dll"));//加载DLL
if (hLunarDll==INVALID_HANDLE_VALUE)
{
cout<<"加载Lunar.dll失败!请检查是否有读取权限或文件路径是否正确。"<<endl;
return;
}
pLunarIfMgr GetInterface=(pLunarIfMgr)GetProcAddress(hLunarDll,"GetLunarInterface");
if (!LunarInterface)
{
cout<<"获取接口失败,请检查DLL文件版本或完整性。"<<endl;
return;
}else
{
pLunarIf=GetInterface();//获取接口类
if (pLunarIf)
{
pLunarIf->GetClassPtr(CT_Lunar,(void **)&pLunar);
}else
{
cout<<"获取接口类失败"<<endl;
return;
}
}
if (pLunar)
{
pLunar->GDateToLDate(,);//调用
}
//----------------------------------------------------------------------------
//卸载
if (pLunarIf)
{
if (pLunar)
{
pLunarIf->ReleaseClassPtr((void **)&pLunar);//此行代码可加可不加,因为最终释放接口时会自动释放指针
}
pLunarIf->ReleaseInterface();
pLunarIf=NULL;
}
if (hLunarDll!=NULL)
{
FreeLibrary(hLunarDll);//释放DLL
hLunarDll=NULL;
}
==============================================================================
隐式链接:
#define USING_LUNAR_STATIC
#include "Lunar.h"
#pragma comment(lib,"lunar.lib") //或是直接在项目属性中的链接器中添加库文件
using namespace LUNAR;
CLunarInterface * pLunarIf = GetLunarInterface();
Clunar * pLunar = NULL;
if (pLunarIf)
{
pLunarIf->GetClassPtr(CT_Lunar, (void **)&pLunar);
if (pLunar)
{
pLunar->GDateToLDate(,);//调用
}
}
//----------------------------------------------------------------------------
//释放
if (pLunarIf)
{
if (pLunar)
{
pLunarIf->ReleaseClassPtr((void **)&pLunar);//此行代码可加可不加,因为最终释放接口时会自动释放指针
}
pLunarIf->ReleaseInterface();
pLunarIf=NULL;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯