掌心万年历 正式版 软件包

包含以下部分:
1)主程序
2)今日插件 正式版(在今日桌面上显示农历信息和节日提醒)
3)历史上的今天(包括上万条的超详细历史事件解释)
4)黄道吉日
5)人体生理曲线(附全套源码)
6)生日密码
RMB ¥18.00
PS:对于掌心万年历 测试版V1.0-V1.21A,仅供个人免费测试使用。
在我们最困难的时候给予我们帮组的朋友们,我们不会忘记你们,你们将终生免费使用掌心系列软件。
龙首山人@PDAFans
ljm2020@PDAFans
lxy0918@PDAFans
kaiwen99@PDAFans
老兵也发烧@PDAFans
gaopeiyi@PDAFans
xgzmr@PDAFans
weiye@PDAFans
ljkbd@PDAFans
ChenChen61882@PDAFans
sewcoivan@PDAFans
wjw5707@PDAFans
noah@PDAFans
wens5168@PDAFans
paidong@PDAFans
skylar@PDAFans
dbr@PDAFans
LAKELI@PDAFans
jkzhao@PDAFans
cloud_snpl@PDAFans
greatf@PDAFans
请以上用户pm:turbozv@PDAFANS,我们会记住你们的:)

包含以下部分:
1)主程序
2)今日插件 正式版(在今日桌面上显示农历信息和节日提醒)
3)历史上的今天(包括上万条的超详细历史事件解释)
4)黄道吉日
5)人体生理曲线(附全套源码)
6)生日密码
RMB ¥18.00
PS:对于掌心万年历 测试版V1.0-V1.21A,仅供个人免费测试使用。
在我们最困难的时候给予我们帮组的朋友们,我们不会忘记你们,你们将终生免费使用掌心系列软件。
龙首山人@PDAFans
ljm2020@PDAFans
lxy0918@PDAFans
kaiwen99@PDAFans
老兵也发烧@PDAFans
gaopeiyi@PDAFans
xgzmr@PDAFans
weiye@PDAFans
ljkbd@PDAFans
ChenChen61882@PDAFans
sewcoivan@PDAFans
wjw5707@PDAFans
noah@PDAFans
wens5168@PDAFans
paidong@PDAFans
skylar@PDAFans
dbr@PDAFans
LAKELI@PDAFans
jkzhao@PDAFans
cloud_snpl@PDAFans
greatf@PDAFans
请以上用户pm:turbozv@PDAFANS,我们会记住你们的:)
【软件名称】掌心万年历
【软件类型】工具软件
【支持平台】PPC2002/2003/2003SE/2005
【软件大小】90kb
【使用方法】直接拷入PPC中任意目录,既可运行
【制作小组】FiT工作室
【软件介绍】

1、掌心万年历主程序:

◎绿色软件
◎显示年代、天罡地支
◎显示农历节气、公历节日、农历节日
◎自定义农历生日、农历节日、公历生日、公历节日显示
◎支持方向键操作(上下加减年、左右加减月)
◎开放式插件机制(历史上的今天、黄道吉日、生理曲线……)
◎公历间隔天数计算
◎农历转公历,公历转农历
◎支持皮肤功能
◎与Outlook的联系人和日程表同步
◎节日数据支持%c(-1) %d(0) %e(+1)
◎支持星期节日格式和黑色星期五
◎支持1582-10不存在的十天
◎完美支持VGA,WindowsMobile2005
◎支持自定义皮肤功能
2、掌心万年历今日插件:

◎支持5种显示方式
◎支持自定义农历公历节日的显示提醒
◎支持农历节气的显示
◎可以根据桌面主题调整显示字体颜色
◎完美支持VGA机器
3、历史上的今天插件:

◎包含近一万条数据,每条数据均有详细的介绍,您可以查到愚人节的来历,可以了解国内外的重大历史事件
4、黄道吉日插件:

◎能够查询每天的忌、吉神宜趋、凶神宜忌、每日胎神占方、五行、冲、彭祖百忌,居家旅行之必备
5、人体生理曲线插件:

◎查询每天的生理状态(体力,智利,情绪),能够为您的工作学习安排提供参考
6、生日密码插件:

◎每个人的生日都是个迷,星相命理给我们生命的启示,不同的生日都会有不同的命运, 让我来帮你揭开“生日密码”的神秘面纱,从另一个方面来看你我他/她,让这一切变 得不再神秘,你我他/她的生日密码尽在其中……
7、臺灣皇曆:

◎来自台湾“聯合新聞網的農民曆”信息的皇历插件
【软件类型】工具软件
【支持平台】PPC2002/2003/2003SE/2005
【软件大小】90kb
【使用方法】直接拷入PPC中任意目录,既可运行
【制作小组】FiT工作室
【软件介绍】

1、掌心万年历主程序:

◎绿色软件
◎显示年代、天罡地支
◎显示农历节气、公历节日、农历节日
◎自定义农历生日、农历节日、公历生日、公历节日显示
◎支持方向键操作(上下加减年、左右加减月)
◎开放式插件机制(历史上的今天、黄道吉日、生理曲线……)
◎公历间隔天数计算
◎农历转公历,公历转农历
◎支持皮肤功能
◎与Outlook的联系人和日程表同步
◎节日数据支持%c(-1) %d(0) %e(+1)
◎支持星期节日格式和黑色星期五
◎支持1582-10不存在的十天
◎完美支持VGA,WindowsMobile2005
◎支持自定义皮肤功能
2、掌心万年历今日插件:

◎支持5种显示方式
◎支持自定义农历公历节日的显示提醒
◎支持农历节气的显示
◎可以根据桌面主题调整显示字体颜色
◎完美支持VGA机器
3、历史上的今天插件:

◎包含近一万条数据,每条数据均有详细的介绍,您可以查到愚人节的来历,可以了解国内外的重大历史事件
4、黄道吉日插件:

◎能够查询每天的忌、吉神宜趋、凶神宜忌、每日胎神占方、五行、冲、彭祖百忌,居家旅行之必备
5、人体生理曲线插件:

◎查询每天的生理状态(体力,智利,情绪),能够为您的工作学习安排提供参考
6、生日密码插件:

◎每个人的生日都是个迷,星相命理给我们生命的启示,不同的生日都会有不同的命运, 让我来帮你揭开“生日密码”的神秘面纱,从另一个方面来看你我他/她,让这一切变 得不再神秘,你我他/她的生日密码尽在其中……
7、臺灣皇曆:

◎来自台湾“聯合新聞網的農民曆”信息的皇历插件
去年年初的时候,我在用PPC,Jarod推荐了我一款开源的BookReader - Vade Mecum。下回来一用确实还蛮不错的,因为它可以看Plucker的电子书(格式效果比HandStory好),而且还可以做note,不过问题是不显示中文!
那个时候Jarod一直在修改Vade Mecum的源码,于是我给他说了希望能加上中文显示,不过Jarod却一直钟情于加强note,他又只看英文书,所以对我的建议没时间来理睬…… 于是我开始自己研究,终于找到了修改方法。
首先找到pagination.c,它是负责格式化要显示的文字的,其中的static_process_item函数功能是从pdb的字节编码转换成UNICODE。就从这里开始做起吧: (cvs 0.6.2的代码)
if( state->buffer[*position] != '\0' )
{
item->item_type = IT_CHAR; // 这里表示类型是显示字符
item->c = state->buffer[*position]; // 这个c的类型是TCHAR,而buffer是unsigned char
*position += 1;
首先需要说明一下的是Plucker是Palm上的软件,不是UNICODE的,所以buffer是char。
对于英文这种1char的字符集来说,这段代码没有问题,DrawText能一个字母一个字母的显示,但是对中文这类2chars的字符集就不行了。DrawText会半个汉字半个汉字的显示,当然就是大家看到的乱码了。
知道了以上这些原理修改起来就很简单了,在后面增加:
if ((item->c>=0x81) && (item->c<0xff) && (state->buffer[*position]!=0x7F)) {
char tmp[2];
TCHAR totmp;
int ret;
tmp[0] = item->c & 0xff;
tmp[1] = state->buffer[*position];
ret = MultiByteToWideChar(936, 0, tmp, 2, &totmp, 1);
if (ret == 1) {
item->c = totmp;
*position += 1;
}
} else if (item->c == 0x09) { // tab => ' '
item->c = 32;
}
上面的代码说明了把2chars的一个汉字转换成UNICODE,如果遇到TAB转换成空格。注意的是GB汉字的判断: 0x8140-0xFEFE(除去xx7F);CodePage 936表示GB,具体可以查MSDN。
现在已经可以很好的显示GB码的文档了,不过默认字体下的显示效果很不好,因为默认的字体显示效果不好。修改这个不难,在library.c中修改为一下这个即可:)
void Library_initializeDefaults( FormattingDefaults *options )
{
wcscpy( options->normal_face, L\"宋体\" );
wcscpy( options->monotype_face, L\"宋体\" );
options->font_size = 12;
来张效果图看看吧:

PS:如果你要转换成其他编码格式,比如BIG5,找到相应的编码规范和CodePage就可以了:)
那个时候Jarod一直在修改Vade Mecum的源码,于是我给他说了希望能加上中文显示,不过Jarod却一直钟情于加强note,他又只看英文书,所以对我的建议没时间来理睬…… 于是我开始自己研究,终于找到了修改方法。
首先找到pagination.c,它是负责格式化要显示的文字的,其中的static_process_item函数功能是从pdb的字节编码转换成UNICODE。就从这里开始做起吧: (cvs 0.6.2的代码)
if( state->buffer[*position] != '\0' )
{
item->item_type = IT_CHAR; // 这里表示类型是显示字符
item->c = state->buffer[*position]; // 这个c的类型是TCHAR,而buffer是unsigned char
*position += 1;
首先需要说明一下的是Plucker是Palm上的软件,不是UNICODE的,所以buffer是char。
对于英文这种1char的字符集来说,这段代码没有问题,DrawText能一个字母一个字母的显示,但是对中文这类2chars的字符集就不行了。DrawText会半个汉字半个汉字的显示,当然就是大家看到的乱码了。
知道了以上这些原理修改起来就很简单了,在后面增加:
if ((item->c>=0x81) && (item->c<0xff) && (state->buffer[*position]!=0x7F)) {
char tmp[2];
TCHAR totmp;
int ret;
tmp[0] = item->c & 0xff;
tmp[1] = state->buffer[*position];
ret = MultiByteToWideChar(936, 0, tmp, 2, &totmp, 1);
if (ret == 1) {
item->c = totmp;
*position += 1;
}
} else if (item->c == 0x09) { // tab => ' '
item->c = 32;
}
上面的代码说明了把2chars的一个汉字转换成UNICODE,如果遇到TAB转换成空格。注意的是GB汉字的判断: 0x8140-0xFEFE(除去xx7F);CodePage 936表示GB,具体可以查MSDN。
现在已经可以很好的显示GB码的文档了,不过默认字体下的显示效果很不好,因为默认的字体显示效果不好。修改这个不难,在library.c中修改为一下这个即可:)
void Library_initializeDefaults( FormattingDefaults *options )
{
wcscpy( options->normal_face, L\"宋体\" );
wcscpy( options->monotype_face, L\"宋体\" );
options->font_size = 12;
来张效果图看看吧:

PS:如果你要转换成其他编码格式,比如BIG5,找到相应的编码规范和CodePage就可以了:)




2005/06/16 00:25 
