开发环境:VS2005 C#
数据库:Access
图形控件:ZedGraph(开源)

★★★简介★★★
    本人用自制工具记帐已有将近三年历史,前一版是B/S结构程序,图形控件使用破解的Dundas Chart,2006年9月为了熟悉开源的ZedGraph控件开始制作新版记帐。
    开始因没有灵感,工作忙等原因,仅仅做了数据录入,表格显示等简单功能,一直拖到12月中旬开始进入全面开发,利用5天左右时间大体完成。后测试1天左右。软件开发比较仓促,软件开发目的就是为了练手,熟悉ZedGraph控件。所以软件还有很多不足之处。
    废话说得太多没人爱看,下面就软件涉及到的方面一一简单介绍。便于对程序的理解。(其实读别人的程序超级累),而且我这个程序又为了灵活,舍弃了易读性。大家请见谅。

★★★下载★★★
    源程序下载地址:
    http://files.cnblogs.com/StoryBook/开源记帐源程序.rar                 (242KB)
   考虑到没有数据的程序,调试和更改起来可能会有一些不方便,所以放出有三年数据的数据库.下载并解压后,代替bin\Debug\DataBase\Account.MDB文件即可.
    三年数据数据文件下载地址:
    http://files.cnblogs.com/StoryBook/AccountShow.rar                     (39KB)
    提醒已经记帐的朋友,在使用数据文件的时候注意备份好自己的数据文件.

★★★涉及方面★★★
    【OO】:用到了最基本的很浅的面向对象概念,表和图形的数据提取以及数据库操作用到了面向对象的方式。如果全部OO,前期需要较多时间进行设计。
    【数据库】:数据库基本应用增、删、改、查。
    【图形控件】:ZedGraph的开源网址是:http://www.zedgraph.org/ 感兴趣的人可以直接下载全面的代码,文档,例程序。
    【表格】:DataViewGrid,基本功能,其中表格中的日期列是从网上找到的例程序所以日期列类的注释都是英文的。其它的都是有相关注释。
    【TreeView】:程序中的菜单利用TreeView,TreeView的应用不是新鲜事务,就不多介绍了。
    【窗体缩放】:窗体缩放除[图表选项]中控件全部都是随窗体尺寸变化而变化的。一共用了6个SplitContainer所以很多关节是可以调节的。
    【动态控件】:消费类别和收入类别的控件是动态生成的。算位置的程序可移植性还是挺高的,使用的时候只要定好//行间隔//列间宽//控件宽度//每行控件个数//控件高度这些参数就可以了。
     另外ZedGraph也是动态加载到容器中显示的。

★★★文件说明★★★
    【FrmMain.cs】:主窗体,几乎所有代码都在这个窗体中(代码1600+,其中注释行400+)
    【FrmType.cs】:类型维护窗体,代码相对简单。(代码170+,其中注释行40+)
    【Class\QueryData.cs】:查询对象用到的两个类,QueryData和ChartData。其中QueryData是查询返回数据DataGridView直接显示,ChartData是QueryData转换成为便于图形可用的数据。(代码250+,其中注释行70+)
    【Class\DataBase.cs】:数据库类。里面只有一个Dbase类。操作数据库都是通过这个类完成的。(代码150+ 其中注释行60+)


★★★还有一些关于开源记帐的技术细节、编程思路说明在源代码包【简介.Doc】第五部分补充说明中。★★★

★★★遗留★★★
 1.缺少密码保护。(C#可以被反编译,Access的密码破解也容易,所以这部分暂时不想加入了。本来就是防君子不防小人的东西)
  2.没有加入对比分析。(比如今年与去年月消费曲线对比)
  3.文档仅仅有一个简介。虽然程序注释比较详细。
  4.数据备份与恢复
  5.数据导入导出(暂定支持CSV格式或Excel格式的导入导出)
  还有很多功能可以加入的。但是就上面那些功能我不知道要什么时候才能全部加入,我的业余时间其实并不多。等我开源后感兴趣的人可以自行加入。作出有个性的开源记帐。比如加入换肤功能,加入银行账户管理,加入预算管理,加入动态计算公式,加入与×××设备的接口,加入每日一帖,加入。。。。。。。 
 
★★★一些废话★★★
1.我为什么做开源记帐工具。
    我对现在市场上的个人记帐软件已经不太了解。当年做这个是觉得没有一个软件适合我,总觉得要么用的不顺手。要么要我输入一些我并不关心的东西,要么界面使用上我用不习惯,多了很多我用不上的功能,更惨的还是有些功能我感觉很有必要,但是软件却没有,反正感觉不爽,正好想练手学习B/S结构程序,ASP.NET的各种控件,就做了第一版工具。
2.我为什么要开源这个软件
    我不是圣人,我也想做一个共享软件赚钱。不过将心比心我是不会掏钱买这个软件的。有Excel记帐其实一般就够了。我见过一个财会人员做的Excel记帐工具。功能比我这个还全(开源记帐受那个工具的启发很大),我为什么还要买这个东西?而这个软件我本来就是练手用的。开放给大家还能互相切磋一下。
    所以我想这个软件给我带来不了多少经济效益,那还不如通过开源自己能够总结一下用到的编程技术、编程思路,拿出来大家批判批判。通过开源能够与有想法的网友互相交流工具制作经验。通过开源结识一些真正关心开源记帐的网友。
    以前的宣传帖有的网友看了软件的录像后给我回复的建议对我的启发很大,更加坚定我开源的信心,在此谢谢各位关心开源记帐工具的朋友。

★★★最后★★★
    祝喜欢开源记帐的朋友能够在下载了源代码后做出符合自己习惯的世界上唯一的开源记帐。

转载于:https://www.cnblogs.com/StoryBook/archive/2006/12/27/605325.html

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐