《家庭财务管理系统毕业论文(29页DOC).docx》由会员分享,可在线阅读,更多相关《家庭财务管理系统毕业论文(29页DOC).docx(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、最新资料推荐摘要随着社会的不断发展及人们生活水平的不断提高,我国大部分家庭的收入有了较大程度的的增长,存款、贷款、股票、债券、投资信托、租赁、保险等各种金融活动无不冲击着每个家庭,影响着社会生活的方方面面。如何对家庭的财产(包括收支情况、固定资产情况、债务等)进行科学合理的管理,节约开支并发挥资金的最大的效益,是第一个家庭需要考虑的问题,鉴于对家庭现状进行了解分析,发现存在的一系列的问题。我决定利用毕业设计的机会,尝试设计开发了本系统家庭财务管理系统。本系统将采用PowerBuilder 9.0作为前台数据库开发工具,鉴于家庭财务管理系统所需数据量比较小,为方便用户使用,所以使用PowerBu
2、ilder9.0自带的ASA数据库。在本系统中,所使用ASA数据库创建应用数据库,并建立一系列的表,利用PowerBuilder9.0前台开发工具,对ASA数据库中的表进行操作,开发一系列功能模块,其中包含了日常收支、存取款、债务、报表统计及基础维护等,所以,家庭财务管理系统的应用将能够给每个家庭带来最大的效益。由于时间关系和自身的水平,本系统并不完善,其中难免有错误之处,也请各位老师给予批评和指导。关健字:数据窗口用户自定义事件用户对象继承 标准可视对象Abstract with the development of society and peoples life level, in ou
3、r country , which the income of part of family had the bigger degree of growth, wealthy people no longer contented with one of life style, and start to try various new way, the people knew the stock, bond.Savings, loan, stock, bond, investment trust, leasing, various financial activity etc. all kind
4、s of insurance all pounds at each family, affecting aspect of the social activities.How to manage the property( include the receipt and expenditure circumstance, fixed assets circumstance, obligation.etc.) of the family carries on the management of science reasonable, economize the biggest performan
5、ce that the expenditure erupts to flick the funds, is the first family needs to be considered the problem, owing to carry on the understanding analysis to the family present condition, discover a series of problem of existent , I decide to make use of the opportunity of graduate the design, and try
6、developing this system- the family finance management system .This system will adopt the PowerBuilder 9.0 be the stage database development tool, owing to the amount of data that the family finance management system need is smaller, using for the customer conveniently, the usage PowerBuilder9.0 from
7、 the database of ASA that take.In this system, we use the database of ASA to establish the applied database, and build up the form of a series, making use of the PowerBuilder9.0 stage development tool, carrying on the operation to the watch in the database of ASA, developping a series of function mo
8、ld piece, among them including usually the receipt and expenditure, the access style, obligation, various type statement statistics and the foundation support the etc., so, the family finance manage the application of the system and will can bring biggest performance for each family.Because of the l
9、imited of time, our design is not perfect,it must appear some mistakes, also ask each teacher to give some advice and correct it.KeyWord:DataWindows UserEvent UserObject Inherit Standard Visual目录前言4第一章 绪论5第二章 开发工具及数据库概述62.1 PowerBuilder概述62.2 ASA数据库简介7第三章 系统设计思想83.1数据库设计概述83.2 需求分析83.3 概念结构设计103.4 逻
10、辑结构设计123.5 物理结构设计及数据库的实施13第四章 程序设计过程详解154.1 应用程序与数据库的连接154.2 基本模块164.3 数据处理模块204.3.1用户登录模块204.3.2日常收支模块214.3.3存取款功能模块224.3.4家庭财产管理功能模块224.3.5借入与借出债务功能模块224.3.6借入与借出债务归还功能模块234.4 查询功能模块244.5数据的备份模块244.6 统计报表模块254.6.1基础窗口254.6.2打印报表264.7 基础设置模块264.7.1家庭成员管理模块264.7.2其它模块274.8 帮助模块27第五章 家庭财务管理系统的开发总结27参
11、考文献:29致谢31附录31最新精品资料整理推荐,更新于二二年十二月二十七日2020年12月27日星期日11:10:02前言进入二十一世纪以来,随着社会的不断进步和科学技术的飞速发展,计算机在人们的生活工作中起着越来越重要的作用。计划经济时期,社会经济表现的是一种“短缺经济”形态,人们的收入只能勉强维持基本生活需要,根本没有余钱用作其他用途。但是,随着社会的不断发展,人们生活水平的不断提高,我国大部分家庭的收入有了较大的增长,今天的老百姓不但有能力“穿金戴银”,个人可支配的收入也达到了数万元。富裕的人们不再满足于单一的生活方式,而是开始尝试各种新的方式,人们认识了股票、债券。存款、贷款、股票、
12、债券、投资信托、租赁、保险等各种金融活动无不冲击着每个家庭,影响着社会生活的方方面面。毋庸置疑,现在许多家庭财务都是东一榔头西一棒,缺少整体考虑、合理规化,与此同时,家庭财产的收入、支出类型也变的多种多样,如何对家庭的财产(包括收支情况、固定资产情况、债务等)进行科学合理的管理,节约开支并发挥资金的最大的效益,是第一个家庭需要考虑的问题,鉴于对家庭现状进行了解分析,发现存在的一系列的问题。于是决定利用毕业设计的机会,尝试设计开发了本系统家庭财务管理系统。本系统将采用PowerBuilder 9.0作为前台数据库开发工具,鉴于对于家庭财务管理系统,数据量比较小,并方便用户使用,对于数据库,使用P
13、owerBuilder9.0自带的ASA数据库。ASA数据库可以实现和PowerBuilder9.0的无缝对接,对于ASA数据库的操作由PowerBulder9.0所提供的专用接口来完成。ASA数据库管理、数据完整性检查、数据库查询功能、数据库安全性等各方面的功能也很强大,同时也提供了数据的保密、备份与恢复等功能。PowerBuilder是目前广泛流行的一种面向对象的、具有可视化图形界面的快速交互式数据库前台开发工具,它支持客户/服务器机制、分布式组件开发与因特网应用。利用它既可以开发功能强大的、运行在多个平台的、能够操作多个数据库的应用系统,还可以开发客户/服务器、分布式、因特网应用系统。在
14、本系统中,利用ASA数据库创建应用数据库,建立一系列的表,利用PowerBuilder前台开发工具,对ASA数据库中的表进行操作,对于数据库的连接是本系统的第一个重要环节,PowerBuilder提供了大量的各种数据库的数据库接口驱动程序用于与各种数据库的连接,ASA数据库的专用接口。建立与ASA数据库的连接后,开发一系列功能模块,实现了对数据库数据进行生成、处理、查询、统计及字典维护等一系列功能,并能将新生成的数据制作成报表打印出来,以实现整体的设计思想。通过指导老师的热心帮助和我的共同努力,完成了整个系统的设计开发,基本实现了预期的目的,对现有系统的缺陷进行了必要的补充,同时,也通过这次设
15、计开发过程增加了自身的实践经验,提高了自身的设计开发能力,为将来工作打下了良好的基础。由于时间关系和自身的水平,本系统并不完善,其中难免有错误之处,也请各位老师给予批评和指导。第一章 绪论人们生活水平的不断提高,我国大部分家庭的收入有了较大的增长,富裕的人们不再满足于单一的生活方式,股票、债券、存款、贷款、股票、债券、投资信托、租赁、保险等各种金融活动无不冲击着每个家庭,影响着社会生活的方方面面。对家庭的财产(包括收支情况、固定资产情况、债务等)进行科学合理的管理,节约开支并发挥资金的最大的效益,是第一个家庭需要考虑的问题,鉴于对家庭现状进行了解分析,采用PowerBuilder 9.0作为前
16、台数据库开发工具,使用PowerBuilder9.0自带的ASA数据库,设计开发了。在本系统中,所使用ASA数据库创建应用数据库,并建立一系列的表,利用PowerBuilder9.0前台开发工具,对ASA数据库中的表进行操作,开发了收支管理、存取款管理、固定资产管理、债务管理、统计报表等几个小模块,可以从现有数据中提取所需数据,对日常收支对照和家庭资金统计生成每日报表、每月报表或者是年度报表;也可以对日常收支、存取款、债务、固定资产等进行各样的条件查询,也可以对一些基本的参数(数据表)进行设置,也可以对基本的数据进行备份。下面将分四章详细介绍相关的情况,第二章介绍有关数据库及开发工具的情况;第
17、三章将详细介绍本系统的总体设计思路;第四章详细介绍各功能模块的设计思路和设计方法及过程;第五章是对该系统的总结分析。最后是参考文献、致谢以及附录的程序清单。第二章 开发工具及数据库概述2.1 PowerBuilder概述 PowerBuilder是一种可视化的、面向对象的快速应用程序开发环境,是由美国著名的PowerSoft公司推出的广泛使用于客户/服务器体系结构下的应用程序开发工具,是一种面向对象的图形化交互式开发工具,它可以快速的可发出面向对象的大型数据库应用系统,对于单机用户来说,PowerBuilder同样是一种理想的开发环境。它已经为许多数据库开发人员所熟悉和使用,并获得广泛的好评。
18、与其他应用程序开发工具相比,PowerBuilder具有易于熟悉和掌握、开发速度快、成本低、质量高、功能强等诸多特点。PowerBuilder8进一步增强了编程环境:通过即时提示和自动补充完成功能,减少和避免了编写应用程序时的键入错误;通过多应用程序的支持,开发人员能够同时开发和调试多个应用程序;通过全新的库管理画笔,开发人员可以更加方便灵活地控制和管理各种对象;通过剪裁窗口,开发人员能够把自己反复使用的多项内容放入到剪裁窗口中,然后随时可以粘贴到需要的地方;通过输出窗口,开发人员能够看到各种操作的输出结果和状态。PowerBuiler8已经把PowerSite Web开发工具已经完全集成在它
19、的里面,现在开发人员可以使用PowerBuiler8来开发Web应用程序了。新增的数据窗口函数、属性和事件使这一工具具备了更强的能力和更高的灵活性;与EAServer的紧密集成让开发人员能够更迅速次开发出多层应用程序;新增和增强的数据库接口使数据库访问更简单有效;PowerScript中新增的例外处理功能让开发人员能够更精巧地控制错误处理的方式方法;新增和增强的控件和函数进一步提高了PowerBuilder的应用程序开发能力,减少了对API调用的依赖;同时对双字节字符和Ansi字符的支持让开发人员能够更方便地处理中文环境,同时也方便了多过程序的开发。由于PowerBuilder使具有图形界面的
20、数据库前端开发工具,它所采用的图形界面可以使开发人员快速方便地开发出相互独立的对象,而这些对象可供开发人员共享或重复使用。PowerBuilder应用系统可以在Windows3.X、windows95/98/NT/2000、UNIX等多种操作系统上进行跨平台的开发、运行和分布。PowerBuilder所具有的数据库连接和数据处理功能,PowerBuilder可以作为数据库应用系统开发环境。PowerBuilder提供专用的数据库接口不仅提供了各种数据库的支持,对数据库的访问具有客户/服务器查询处理的高性能。PowerBuilder内置了数据窗口控件,通过该控件可使用户用很少的代码甚至无需编程,
21、即可迅速创建访问数据库信息的窗口,尤其是访问大型数据库信息的窗口。而在其他的数据库开发工具中往往需要进行复杂的编程。在开发的系统中,数据窗口也是最主要的开发技术,绝大多数模块中都使用了这一技术,也使我深深体会了数据窗口技术的强大功能和简单灵活的特点。2.2 ASA数据库简介数据库的管理主要是指对数据库的创建、维护和删除。由于安装PowerBuilder9.0的时,用户可同时安装sybase公司的数据库产品Adative Server Anywhere 8.0,它可以实现与PowerBuilder9.0无缝对接,它可以方便的对数据库进行数据表的创建、删除、及其它的一些工作,Adaptive Se
22、rver Anywhere8.0数据库系统既能运行在数据库服务器上,又能运行在客户机上作为本地的数据库系统来使用。为了方便系统的使用,所以选用了PowerBuilder9.0所自带的ASA数据库。第三章 系统设计思想 3.1数据库设计概述数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术,是指对于一个给定的环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。数据库设计既是一项涉及多学科的综合性技术,有时一项庞大的工程项目数据库建设是硬件、软件、和干件的结合;数据库设计应该和应用系统设计相结合,即整个设计过程中要把结构设计和
23、行为设计紧密结合起来。数据库及其应用系统开发全过程可分为六个阶段:需求分析;概念结构设计;逻辑结构设计;物理结构设计;数据库实施;数据库运行和维护。下面将逐步分析设计。3.2 需求分析对于第一个家庭,大家都很了解,基本上包括日常的收支情况、固定资产情况、债务、债务的归还、银行的存取款。在系统的设计中,数据表的设计是关键,如何根据系统要实现的功能合理的设计数据库将关系到整个系统的运行效率甚至关系到整个系统的成败。根据目前家庭所需数据库的的分析,发现所用到的数据可以从以下几个表中提取:1、日常收支表(rcsz)其中包含编号(r_id),收支人(r_chengruan),金额(r_jine),收支类
24、型(r_shuozifangshi),项目(r_xiangmu),帐号(r_zhanghao),摘要信息(r_zaiyao),日期(r_riqi),地点(r_didian),备注(r_beizhu);2、项目表(szxm)其中包含编号(s_id),项目名(s_mingcheng),收支(r_shouzhi),备注(s_beizhu);3、付款方式表(zffs)其中包含编号(z_id),名称(z_mingcheng),备注(z_beizhu);4、帐户管理表(yhzh)其中包含编号(y_id),帐户(y_zhanghu),开户人(y_kaihuren),开户银行(y_yinhang),开户日期(
25、y_riqi),金额(y_jine),帐户密码(y_zhanghumima),卡号(y_kahao),卡密码(y_kamima),备注(y_beizhu),目前金额(y_muqianjine);5、存取款记录表(cqk)其中包含编号(c_id),日期(c_riqi),类型(c_inout),帐号(c_zhanghao),金额(c_jine),地点(c_dizhi),备注(c_beizhu),成员(c_chengyuan)6、财产类型表(jtcclx)其中包含编号(j_id),名称(j_mingcheng),备注(j_beizhu);7、家庭财产表(jtcc)其中包含编号(j_id),名称(j_
26、mingcheng),价格(j_jige),数量(anum), 财产类型(j_caichanleixing),日期(j_riqi),备注(j_beizhu),;8、债务表(zw)。其中包含编号(z_id),日期(z_riqi),借入人(z_inren),借出人(z_outren),金额(z_jine),付款方式(z_fukuanfangsi),帐号(z_zhanghao),已还金额(z_yihunajine);9、债务归还表(zwgh)其中包含编号(z_id),日期(z_riqi),还入还出(in_out),金额(money),家庭成员(member),付款方式(z_fukuanfangsi)
27、,还入还出方式(in_outaccount),备注(remark);10、联系人表(lxr)其中包含编号(l_id),姓名(l_xingming),姓别(l_xingbie),手机(l_shuoji),家庭电话(l_jiatingdianhua),公司名称(l_gongsiming),联系地址(l_dizhi),备注(l_beizhu);11、家庭成员表(jtcy)其中包含编号(j_id),姓名(j_xingming),密码(j_mima),金额(j_jine),备注(j_beizhu);12、家庭资金统计表(zjtj)其中包含编号(z_id),姓名(z_xingming),项目(z_xian
28、gmu),期初金额(z_cushijine),收入(z_shuoru),支出(z_zhichu),存入(z_cunru),支取(z_zhicu),向外借入(z_xiangwaijieru),向外借出(z_xiangwaijieru),借出归还(z_jieruguihuan),借入归还(z_jieruguihuan),目前余额(z_yue);这样开发系统的数据库表结构已基本完成。从而数据流图也基本建立,数据走向是从原有数据库中通过检索生成本系统所需数据并存储,到对数据进行查询、处理、统计等处理,再到经处理的数据输出。3.3 概念结构设计概念结构设计就是将需求分析得到的用户需求抽象为信息结构即概念
29、模型的过程。它是整个数据库设计的关键。本系统采用自底向上方法,即自顶向下进行需求分析,然后在自底向上底设计概念结构。本系统所需实现的功能是对家庭收支、存取款、债务等生成必要的记录、查询、统计、维护等,所以这些就成为出发点。在生成模块中,首先是要从原有数据库数据中提取所需数据,生成新数据库中的数据;然后对新数据进行处理以便生成上报所需的数据,即从项目管理来说可分为收支、存取款、债务、数据备份等,从时间来说分为年度报表、月报表及日期(选择时间段)报表;在查询模块中可分为收支、存取款、债务等查询;在基本信息的操作上可以进行成员管理、项目管理、付款方式、财产管理、帐户管理、联系人等操作。3.4 逻辑结
30、构设计逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。在这一阶段是把上一阶段所设计的各实体及属性转换为新数据库中各个表中的记录的数据项。这些工作可以在所用的到的ASA数据库中进行一系统的转换(把基本数据转换成关系数据库所用到的表),并进行优化。3.5 物理结构设计及数据库的实施数据库在物理设备上的存储结构与存取方法成为数据库的物理结构,为一个给定的逻辑数据模型选取一个最合适应用要求的物理结构的过程,就是数据库的物理设计。图3.5程序结构图第四章 程序设计过程详解4.1 应用程序与数据库的连接开发本家庭财务管理系统所采用的操作
31、系统是Windows 2000,是在个人模式下用PowerBuilder8.0开发的,创建工作区、目标、库文件是系统开发的首要工作,首先建立一个目录来放置建立的库文件等,在PowerBuilder9.0增添了两个新概念,工作区(Workspace)和目标(Target),所以首先需建立一个工作区,命名为moneymanager.pwl,再选择标签页“Target”上的“Application”图标,建立一个应用库文件moneyhome.pbl和base.pbl并指明路径存在所建目录下。其中base.pbl用来存放基础类库的对象和函数等,moneyhome用来存放系统窗口、数据窗口对象等。数据库
32、的连接就是本系统开发的第一个重点。首先创建数据源和数据库描述文件,在主工具栏中单击DBProdile按钮,打开Data Profiles对话框,这个对话框列出了PowerBuilder9.0当前安装的数据库接口,这些数据库接口中有专用的接口,也有ODBC接口,本系统所使用的就是ODBC接口,然后依次展开ODBC各个分支,直到出现ODBC Administrator,双击ODBC Administrator,打开“ODBC数据源管理器”对话框。在“ODBC数据源管理器”中激活“用户DSN”选项,单击“添加”按钮,打开“创建数据源”对话框,然后选择Adaptive Server Anywhere8
33、.0,单击完成,在ODBC中的Data Sorce Name中输入moneyhome,在DataBase选择你的数据库所在的位置,然后在Login中输入你的用户名“DBA”和密码“SQL”,单击确定,回到Database Profiles中,单击ODBC,选择New,在Connection中的ProfileName中输入”moneyhme”,在DataSorce中选择moneyhome,在User ID输入“DBA”,在Passwrod中输入“SQL”,选择Preview,单击Test Connetction如果成功,将提供成功信息,否则将返回错误信息提示,如果成功单击Copy复制代码,最后单
34、击OK,这个基本上把它配置好了,第二步,在moneyhme的OPEN事件中输入你刚才复制的代码,本系统只用到一个数据库所以使用默认的全局事务对象SQLCA,它可以向数据库发送连接信息,并成数据库中返回连接成功或是失败的信息,最后添加连接成功后所要打开的窗口(登录窗口和系统的主窗口),通过这些脚本的添加使得应用库和登录窗口的相互配合,完成了用户与数据库之间的连接。4.2 基本模块由于系统中经常要用到一系列重复的对象,所以有必要做一系列的基本模块,以便以后的继承和调用,这样可以大大节约开发所用的时间。创建基础的列表窗口(w_list_base),因为在系统中会经常用到数据列表的功能,所以有必要创建
35、这样一个窗口。这个窗口与一个编辑菜单(m_edit)相关联,并且放置一个继承uo_dw_grid的数据窗口控件dw_list。在菜单的各项脚本中,采用了动态调用的方法来调用窗口的事件,PowerBuilder9.0中允许在调用函数或事件时加入关键词Dyanmeic,可以调用在编译代码时并不存在的函数或事件,这样大大的增加了开发的灵活性。创建用户的自定义事件,这些用户自定义事件的事件的编写有一部分是在主列表窗口中编写,但有一部分是在继承这个主窗口的子窗口中编写,其中包括ue_new,这个事件的主要功能是新增一条新的记录。ue_edit这个事件的功能是编辑一条记录。ue_find,这个事件的主要功
36、能是打开查询窗口,接收SQL语句并修改数据窗口的Select语句,实现数据的检索。ue_save是的主要功能是对你新增或编辑的数据进行保存。ue_delete删除数据窗口的当前记录。ue_refresh重新检索数据窗口中的数据实现所谓的刷新。ue_setbarenabled根据数据窗口的结果集设定各个菜单项的所处的状态,就是所谓的在不同的时间内可用不可用。ue_settoolbar这些是为了设置菜单工具栏的字体的样式风格。同时还定义了一系列的全局变量及窗口的打开和关闭事件。编写窗口的open事件,首先调用uo_settoolbar自定义事件设置工具栏字体的样式风格,然后是用setrransob
37、ject和retrieve事件对数据窗口控件所对应的数据库进行检索刷新,最后调用用户的自定义事件ue_setbarenabled事件,用来设置工具栏按钮所处的状态。这些自定义事件都不带有任何的返回值。创建用户自定义函数f_center,这个函数的功能使窗口的在屏幕的中央显示。代码的实现过程是首先获取屏幕的象素,然后使窗口的左横坐标为屏幕宽度的一半减去窗口宽度的一半,窗口的左纵坐标为屏幕高度的一半减去窗口高度的一半。用户的自定义函数f_getid这个函数的功能是为了得到dw_list数据窗口控件中数据的ID。实现过程主要是通过数据窗口控件的getTtemNumber()函数。创建基础的编辑窗口(
38、w_edit_base),因为在本系统中,基本上所有的弹出窗口都是这一类风格,所以编写这样一个编辑窗口的父窗口是有必要的。这个窗口主要是继承了一个基本窗口(w_autosize),w_autosize窗口的主要的功能是使窗口在屏幕的中央显示,功能的实现也是调用了一个用户自定义事件f_center,还可以对窗口中所有的控件进行定位,其中定义了键盘事件,主要的功能是当用户用户键盘的回车鍵操作时,控件获得焦点时的先后顺序。Resize事件是当窗口改变后所有窗口中的控件将通过相对比例进行更改。Open事件功能是对所有的控件进行初始化,首先调用窗口居中函数,然后再初始化所有控件的位置。ue_setlin
39、e设置窗口中的四条线的位置。又创建了几个用户自定义的函数,f_center这就是窗口所调用的居中函数。uf_position,uf_resize。窗口w_eidt_base主要是由一个继承自uo_dw_freeform用户对象的数据窗口控件dw_edit和两个命令按钮确定和退出组成。创建基础的窗口w_center,创建用户自定义对象ue_dwcz这个自定义对象的主要功能是通过一个参数as_what,判断事件的类型,如果是提交的话,判断是否已经保存,如果保存的话,提示已保存信息,否则的话提示用户是否要保存信息。如果是插入的话,定位到所要插入的行。如果是删除的话,将出现提示信息,询问用户是否要真的
40、进行删除。Ue_setline和上面的功能一样都是为了设置窗口中的四条线的所在的位置。Ue_showtips显示提示信息。同时还有它的Open、resize事件,功能同上。自定义函数f_center也和上面一样。创建用户自定义对象uo_dw_freeform(自由表格式),这个用户自定义对象主要是为是为了以后的数据窗口控件继承。由于这个数据窗口用户对象,在以后的开发过程中将会经常用到,所以提前建立一个基本的对象以便继承,对这个数据窗口的操作一般是记录的新增、记录的删除、数据的保存、窗口的刷新等。首先创建用户的自定义事件shift_er,这个事件的主要功能是用户在键盘上按下回车或是上下方向鍵时确
41、定输入焦点的后移。还创建了一个用户的自定义函数of_add,主要是实现用户记录新增,同时返回新增记录的行号。of_del自定义函数的功能是删除用户的当前记录,并提示用户信息是否要删除,如果当前行删除不成功的话,将有一个提示信息,成功的话也返回一个提示信息。of_save这个自定义函数的功能是保存数据窗口的数据,成功的话返回成功信息,不成功的话返回不成功的信息。of_refresh这个自定义函数的功能是对数据库中的信息进行重新的检索,并刷新数据窗口中的数据。of_setcolor自定义事件,这个函数的功能是设置编辑字体的背景色。还有一个自定义事件of_ismodify这个函数通过检索数据库中的记
42、录,如果修改和更新的记录数都大于零的话,将提示保存信息,如果保存不成功的话,也提示保存不成功的信息。创建数据窗口用户对象uo_dw_grid,这个数据窗口对象主要是针对grid类型的窗口所设计的,这个有一部分是继承了uo_dw_freeform,但是也做了一部分的功能添加,of_asc这个函数的主要功能是为了当用户单击列名的时,数据窗口中的数据将自动进行数据的升序排列并显示升序箭头图标。of_des这个函数主要是为了数据窗口中的数据自动子降序排列并显示降序箭头图标。Rowfocuschanged这个用户自定义事件功能是实现选中当前行。uo_dw_grid的clicked事件,当用户单击时进行数
43、据的排列,并进行箭头的显示。创建数据窗口用户对象u_dw_base,其中of_ask_to_save()函数的主要功能是当closequery时,如果用户操作的数据窗口中的数据已更改,将询问用户是否要进行保存。of_deleterow()函数的功能是提示用户是否真的要删除行记录,如果是的话,将删除,否则不于删除。of_getcoltpye()函数功能是返回所得到的列的类型。of_getheader()得到头文件。of_insertrow()功能是插入一行数据。of_update()更新信息是否成功,成功返回成功信息,否则的话返回更新失败信息。创建可见的用户对象并把相应的代码封装在里面,这样避免
44、大量重复的代码的编写,也有利于以后系统的维护和升级,如果在系统中使用,选择“insert” 下的“control”下的“userobject”直接引用这些对象。创建不可见的用户对象uo_toolbarfont这个函数能够重新定义窗口工具栏文本和工具栏按钮的宽度,使之更加美观。创建不可见的用户对象uo_settime这个的主要功能是设定系统的日期和系统的时间。创建可视的用户对象u_toolbutton,定义工具按钮的显示风格,并添加mousedown,mouseup,mousemove事件。创建可视的用户对象sle_find,定义用户的key_press事件。创建可视的用户对象uo_close,
45、并添加关闭按钮事件来关闭窗口。创建可视的用户对象uo_dele。创建可视的用户对象uo_edit。创建可视的用户对象uo_refresh。创建可视的用户对象uo_help。创建可视的用户对象uo_print。创建可视的用户对象uo_new。创建可视的用户对象uo_save。创建可视的用户对象uo_search。创建可视的用户对象uo_sle。其中Selecttext事件的功能是选中你所选择的文本。创建数据窗口对象,系统中主要用了两个基本类型的数据窗口对象,一个是grid(风格)类型,另一个则是freeform(自由表格式)类型。创建grid类型的数据窗口对象d_xmgl_list,首先打开文件
46、菜单中的new子菜单,然后在打开的new对话框中选择datawindow标签,选择grid单击OK,然后选择SQL select单击Next,选择项目表,双击选择要添加的项,关闭,然后出现select color and border setting,设置好,单击next,在单击finish,grid类型的数据窗口对象就基本上做好了,然后你还可以设置它的一些属性其中包括一些颜色及内容的位置等。创建freeform类型的数据窗口对象d_qkjl_edit,做法与grid类型的数据窗口对象差不多,不同点是在table layout中,单击design菜单中的retrieval arguments.
47、,在name中输入ID,在类型中选择Number型,然后在Column中选择s_id,operator选择=,value中输入id,单击下一步,下同grid类型的创建。创建基础菜单m_main,菜单定义为m_rcsr日常收入记录,m_rczc日常支出记录,m_ckjl用户存款记录,m_qkjl用户取款记录, m_asset资产记帐,m_jrzw借入债务,m_jczw借出债务,m_jrgh借入归还,m_jcgh借出归还, m_pinouttally日常收支对照表,m_psumall家庭资金汇总表,m_backup数据备份,m_cygl成员管理,m_zhgl帐户管理,m_fkfs付款方式,m_lxr联系人,m_xmgl项目管理,m_ccgl财产管理 ,m_about帮助。每个窗口的基本事件一般是调用OpenWithPara()函数,并传递一个窗口名称和一个参数。因为很多窗口都要被共用,比如日常的收入和日常的支出,它们就是通过这个参数来分别实现不同的功能。创建基础菜单m_edit,菜单定义为新增、编辑、删除、保存、查找、刷新、打印、关闭。它们分别动态的调用用户自定义事件ue_new、ue_edit、ue_delete、ue_save、ue_find、ue_refresh、ue_print、ue_close。有些事件将会在所打开的窗口中重新定义。4.3 数据处理模块数据处理模