• 生日小助手V3.1——跨平台多语言的农历生日提醒软件


    项目主页:http://birthdayhelper.weebly.com/
     
    开发者:IT小小龙
    个人博客:http://blog.sina.com.cn/buduanqs
    电子邮箱:long5092@126.com
     
     
    小组人员清单
     
    英语翻译:IT小小龙
    个人博客:http://blog.sina.com.cn/buduanqs
    电子邮箱:long5092@126.com
     
    日语翻译:富士山の雪
    个人博客:http://blog.sina.com.cn/llaccccall
    电子邮箱:yanchao_jp@126.com
     
    加入团队:如果你想加入生日小助手的开发团队,可以发电子邮件到long5092@126.com,与我取得联系。生日小助手完全是公益项目,没有任何盈利,只为锻练使用python开发软件的能力和团队合作的能力,并与此同时给更多的人使用计算机带来方便。
    现在主要有以下几个部分的工作:
     
    a、不需要太多专业知识的工作:
    1、界面和文档的多语言翻译,不需要太多计算机的专业知识,只要你会一门外语,并且想用在生日小助手上;
    2、对界面的创新设计,增强用户体验,哪怕你只会画图也可以;
    3、文档撰写,文笔好一些,让文档更具可读性;
    b、需要一些专业知识的工作:
    1、按照设计,编写GUI,尽量使用Tkinter编写,以减少环境依赖;
    2、更多功能的实现,需要人手,要求会使用python编程,或者想学习python的初学者也可以;
    3、Android版本的开发目前还没有头绪,如果有这方面的编程经验并且对生日小助手感兴趣的人,可以全面负责Android版本的开发;
     
    最后强调,本软件不以盈利为目的,完全是公益项目,遵循GPL协议。(备注有GPL协议的内容)
     
     
    设计理由:Ubuntu11.10下没有合适的农历生日提醒软件。
     
    设计思路:将农历和公历都转化为下一个公历生日,然后排序,判断在某一范围内的生日信息。
     
    描述:生日小助手是一款基于Tkinter,由Python编写的跨平台生日提醒软件。支持各种常见的操作系统,界面干净,操作方便,内置快捷键,可以实现纯键盘录入,提高批量录入的效率。支持多国语言,目前支持简体中文、英语、日语,以后会慢慢加入其他的语言。同时支持农历和公历的提醒,如果您是中国人,有时候需要记录一些外国朋友的生日,这时公历生日提醒就可以起到作用;如果您是其他国家的人,并且您有来自中国的朋友,那么农历生日提醒就可以给您很好的帮助。绿色软件,不会对系统产生不良作用,开放源代码,解释执行,如果您有python的编程经验,可以根据您自己的需求修改代码,但是修改以后的代码必须开源(GPL协议)。由于作者正在读大学,准备考研,时间和精力有限,更多的功能,目前还没有实现,以后有时间有精力会慢慢增加更多实用的功能。如果您有好的功能设想,可以发电子邮件到long5092@126.com,谢谢您的关注!
     
     
    版本更新信息:
    1、完成了日文版的开发。
    2、解决了“用户如果输入的日期早于当前日期,显示当年的生日,而应该显示下年的生日”的问题,可以直接显示对应下一年的生日。
    3、解决了名字中带空格的问题。
     
     
    安装和运行:
    以后版本的生日小助手采用源码运行。
    原因参见:Python爱好者(http://www.cnblogs.com/pythonlover/)博客的《python简要介绍》一文,地址:http://www.cnblogs.com/pythonlover/archive/2012/02/15/2352807.html。
    运行参见:Python爱好者(http://www.cnblogs.com/pythonlover/)博客的《生日小助手源码运行的步骤》一文,地址:http://www.cnblogs.com/pythonlover/archive/2012/02/15/2352816.html
     
     
    使用说明:
    1、浏览生日
    左侧的列表为所有的生日信息,注意某些名字后边带*号是因为今年没有对应该生日的日期,所以系统自动为其生日减一,并在名字后边加上*号予以标注。因为修改的仅仅是临时文件,所以只是在本年的生日显示中减一,不影响其他年份时的处理。
    2、添加生日
    在姓名文本框中输入姓名,在生日文本框中输入月和日,然后点击“提交生日”按钮,或在输入日子后直接按回车键(Enter键),分别对应农历和公历生日,将数据写入对应的文件。
    3、删除生日
    在列表框中选中要删除的生日信息,然后点击“删除”按钮,或按Delete键,删除对应的生日信息。
    4、修改生日
    可以通过“删除然后再添加”的方式间接修改生日。
    5、检查生日
    点击“检查最近生日”按钮,或按F5键,弹出提示窗,显示未来7天内要过生日的人及其生日信息。
    6、关于
    点击“帮助“菜单的”关于“菜单项,显示版本信息和作者信息。
    7、改变界面语言
    点击“设置”菜单的“语言”子菜单下的对应语言,重开程序后完成切换。
     
     
    下一版本规划:
    1、实现用户自定义快捷键;
    2、引入Pmw,加入水平滚动条。
     
    **为了避免添加Pmw组件带来的附加的组件安装步骤,降低用户操作的复杂度,当前版本先不加入Pmw了。并且就当前程序的功能来说,还没有极其的必要性添加Pmw组件。
     
    未来要引入的功能:
    1、开机自启动选项;
    2、导出生日信息到指定位置;
    3、自动向当天过生日的人发送祝贺生日的电子邮件;
    4、自定义生日提醒的提前天数;
    5、界面换肤等自定义选项。
     
    没有思路的问题:
    1、如何定位窗口和对话框初始化位置;
     
     
     
    长期规划:
    1、借助python for android实现Android版。
     
     
    出于学习目的的规划:
    1、使用pyGTK实现界面;
    2、使用wxPython实现界面;
    3、使用pyQt实现界面。
     
     
    备注:
    1、版本命名原则:
    如果对代码进行了重构并增加了功能或特性,版本号加1
    如果只是增加了功能或特性,版本号加0.1
    如果仅仅是增加了代码的可读性,版本号加0.01
    2、GPL协议:
    在自由软件所使用的各种许可证之中,最为人们注意的也许是通用性公开许可证(General Public License,简称GPL)。
    GPL同其它的自由软件许可证一样,许可社会公众享有:运行、复制软件的自由,发行传播软件的自由,获得软件源码的自由,改进软件并将自己作出的改进版本向社会发行传播的自由。
    GPL还规定:只要这种修改文本在整体上或者其某个部分来源于遵循GPL的程序,该修改文本的 整体就必须按照GPL流通,不仅该修改文本的源码必须向社会公开,而且对于这种修改文本的流通不准许附加修改者自己作出的限制。因此,一项遵循GPL流通 的程序不能同非自由的软件合并。GPL所表达的这种流通规则称为copyleft,表示与copyright(版权)的概念“相左”。
    GPL协议最主要的几个原则:
    1、确保软件自始至终都以开放源代码形式发布,保护开发成果不被窃取用作商业发售。任何一套软 件,只要其中使用了受 GPL 协议保护的第三方软件的源程序,并向非开发人员发布时,软件本身也就自动成为受 GPL 保护并且约束的实体。也就是说,此时它必须开放源代码。
    2、GPL 大致就是一个左侧版权(Copyleft,或译为“反版权”、“版权属左”、“版权所无”、“版责”等)的体现。你可以去掉所有原作的版权 信息,只要你保持开源,并且随源代码、二进制版附上 GPL 的许可证就行,让后人可以很明确地得知此软件的授权信息。GPL 精髓就是,只要使软件在完整开源 的情况下,尽可能使使用者得到自由发挥的空间,使软件得到更快更好的发展。
    3、无论软件以何种形式发布,都必须同时附上源代码。例如在 Web 上提供下载,就必须在二进制版本(如果有的话)下载的同一个页面,清楚地提供源代码下载的链接。如果以光盘形式发布,就必须同时附上源文件的光盘。
    4、开发或维护遵循 GPL 协议开发的软件的公司或个人,可以对使用者收取一定的服务费用。但还是一句老话——必须无偿提供软件的完整源代码,不得将源代码与服务做捆绑或任何变相捆绑销售。
     
    测试用例:
    1、未过的农历日期        2012 2 20    爱新觉罗 弘历        2012 3 12
    2、未过的公历日期        2012 2 20    First Second Third    2012 2 20
    3、已过的农历日期        2012 1 15    张三            2013 2 24
    4、已过的公历日期        2012 1 15    Jack            2013 1 15
    5、带空格的名字        
    6、不带空格的名字                
    7、不带空格名字的删除    删除Jack
    8、带空格名字的删除    删除爱新觉罗 弘历
    9、农历特殊日期的生日    2012 12 30    爱新觉罗 弘历
    10、公历特殊日期的生日    2011 2 19    Jack
    11、检查生日
     
    下载地址:http://birthdayhelper.weebly.com/

  • 相关阅读:
    关于word开发中字体大小
    WPF学习笔记
    C#各种配置文件使用,操作方法总结
    web.config和app.config使用
    微软 WordXML格式初步分析
    面向对象—C#高级编程(第10版)学习笔记8
    C#编程的推荐规则和约定—C#高级编程(第10版)学习笔记7
    C#基础—C#高级编程(第10版)学习笔记6
    .Net 应用程序体系结构—C#高级编程(第10版)学习笔记5
    通俗易懂说编程:.Net Core是什么、有何用?
  • 原文地址:https://www.cnblogs.com/pythonlover/p/2353384.html
Copyright © 2020-2023  润新知