资源描述
精品文档就在这里
-------------各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有--------------
--------------------------------------------------------------------------------------------------------------------------------------------
第一章 引 言
1.1 设计思想
本系统选题为银行账户管理系统,是模拟银行账户的管理开发的。
设计的指导思想是一切为使用者着想,界面要美观大方,操作尽量简单明了,而且作为一个实用的管理系统要有良好的容错性,在出现误操作时能尽量及时地给出警告,以便用户及时地改正。计算机的资源是受到限制的,因此要充分利用Visual FoxPro的功能,设计出功能强大的软件,同时要尽可能地减少对系统资源的占用。鉴于本系统的特殊性,还需要本程序有良好的保密性。
具体表现为:
1. 系统应符合银行账户管理的规定,满足银行相关人员日常使用的需要,并达到操作过程中的直观、方便、实用安全等要求;
2. 系统采用模块化程序设计方法,即便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护;
3. 系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、备份等操作;
4. 尽量采用现有软硬软硬件环境及先进的管理系统开发方案,从而达到充分利用现在有资源,提高系统开发水平和应用效果的目的。
1.2 本课题的研究意义:
通过该银行账户管理系统使银行的账户管理工作系统化、规范化、自动化,从而达到提高账户管理效率的目的,使办公人员可以轻松快捷地完成对账户管理的任务。
1.3 系统设计目的:
系统设计是整个计算机信息管理系统开发过程中最重要的技术 环节,我们要在充分理解用户需求的基础上,用计算机来实现新系统的信息处理逻辑模型中规定的输入、输出及内部处理等多项功能,由不同模块来完成数据流程图中的各个加工,组织各种数据文件的存储,达到用户需求所规定的各项性能指标,并提出经济合理结构良好和高质量的解决新的计算机信息管理系统中各个需要处理的问题的解决方法的系统目标模型。
为有利于及时掌握和监控银行账户的开立和使用情况,建立和完善账户管理系统,利用信息技术手段,提高管理成效,必须建立全国统一的银行账户管理系统。中国人民银行将统一开发和建立全国统一银行账户管理系统,系统将按照集中统一、分级管理的原则实施管理,其主要功能包括:信息审核、信息储存、信息查询、信息统计、信息监测、开户登记管理等及其他扩展或附加的功能。
1.4 开发和运行环境选择
开发工具:Visual FoxPro 6.0
运行环境:Windows 9X、Windows NT或Windows 2000
1.5 计算机软件开发概述
银行账户管理系统的建立是一个复杂的计算机软件工程的实施过程。计算机软件开发又是一项专业性和技术性都很强的工作,它有一套自己的开发原则和开发方法。遵循这些原则和方法,开发出来的计算机软件就可以做到功能针对性强、系统运行稳定可靠、操作简便、容易维护和扩充;否则,就可能事倍功半,甚至导致计算机软件开发的半途而废。
第二章 Visual FoxPro平台简介
2.1 Visual FoxPro的产生和发展
Visual FoxPro 6.0(VFP6.0)中文版是Microsoft公司推出的Visual FoxPro地最新版本。VFP6.0是一个复杂地开发工具,其复杂性首先就表现在它的集成环境上。网络环境下的VFP保持了所需的特定的函数和命令。单用户的程序只要稍作修改就可在网络上运行。
Microsoft Visual FoxPro 也是为高效地开发跨平台的应用程序而设计的。在同类XBASE产品中,Visual FoxPro使用方便的特点使其能被称为是可视化的,而其功能强大的特点使其不失 FoxPro 的真谛,在数据库应用开发人员间享有盛誉。
2.2 Visual FoxPro 6.0特点
与其他数据库管理系统相比,Visual FoxPro 6.0 有用户的普通性、功能的完整性、工具的易用性和规模的可伸缩性等特点。
1.用户的普通性
勿庸置疑,Visual FoxPro 6.0 作为数据库工具拥有众多的 开发
者。由于它与传统的XBASE数据库兼容,因此了解和使用它的传统用户数量庞大。它安装容易,运行环境要求不高,入门和学习方便,最易于用户接受。
2.功能的完整性
经过几个版本的升级,Visual FoxPro 6.0比传统的XBASE数据
库有了质的飞跃。在数据管理方面,它基本具备了大型SQL数据库的特征(如视图、关键字、关系、触发器、存储过程等);在数据库设计方面,它提供了各种数据库组件的设计向导和图形化、智能化的设计过程。其独特的优点是提供了各种数据库用户界面的可视化设计工具,提供了自含的编程语言和调试工具,提供了查询数据库的默认表格工具等。总而言之,Visual FoxPro 6.0尽量使得用户不依靠任何其他软件工具就能完成一个较复杂数据库应用系统的全部开发工作。
3.工具的易用性
Visual FoxPro 6.0的各种工具之所有容易使用,是因为它以方便
和规范开发者的工作为目标,充分考虑了数据库应用软件的特点。窗口化、图形化、智能化、模板化、向导化、参数化和通用化是Visual FoxPro 6.0工具的 共同特征。
2.3 Visual FoxPro的功能
Visual FoxPro是为数据库结构和应用程序开发而设计的功能强大的面向对象的环境。无论是组织信息、运行查询、创建集成的关系型数据库系统,还有为最终用户编写功能全面的数据管理应用程序。Visual FoxPro都可以提供管理数据所需的工具,可以在应用程序或数据库开发的任何一个领域中提供帮助。Visual FoxPro所具有的速度、能力和灵活性,是普通数据库管理系统无法比拟的,它把我们带入了一个XBASE新时代。
一、增强的项目及数据库管理
二、更简便、快速、灵活的应用程序开发
三、提供真正的面向对象程序设计
Visual FoxPro仍然支持标准的面向过程的程序设计方式,但更重
要的是它现在提供真正的面向对象程序设计的能力。借助Visual FoxPro的对象模型,可以充分使用面向对象程序设计的所有功能,包括继承性、封装性、多态性和子类。
四、可以与多个开发者一齐工作
如果有Visual FoxPro先前版本的文件,只要打开他们,就会出
现Visual FoxPro转换对话框。可以把他的数据源移到Visual FoxPro的表中,如果有电子表格或文本文件中的数据,比如Microsoft Excel及Word,使用Visual FoxPro,可以方便地实现数据共享。
五、可以开发客户/服务器解决方案,增强客户/服务器性能
六、多语言编程
由于Visual FoxPro支持英语、冰岛语、日语、朝鲜语、繁体汉
语多种语言的字符集,因此,能在几个领域提供对国际应用程序开发的支持。
第三章 银行账户管理系统需求分析
需求分析是数据结构设计的第一个阶段,也是非常重要的一个环节。在这个阶段主要是收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为以后进一步设计打下基础。
3.1 银行账户信息化发展国内外现状需求
国外把银行账户管理作为一项基础性工作,有其自身的特点,没有制定专门的关于银行账户管理的法律、法规,但涉及到银行账户管理方面的规定,散见于国家的有关法律之中。相对我国而言,长期以来习惯应用专门业务管理办法来规范银行账户的开立、使用,其他法律很少涉及银行账户的管理内容。为加强对银行账户的管理;借鉴国外银行账户管理方面有益的做法和国际的通行做法,及时制定新的银行账户管理系统,以适应我国经济、金融发展的现实需要。
我国目前实行银行账户分类管理,将银行账户分为单位存款账户和个人存款账户两大类,对不同账户实行不同的管理办法。单位存款账户分为基本存款账户、一般存款账户、专用存款账户、临时存款账户四类。为方便客户,允许单位和个人异地开立账户。同时,我国对银行账户实行严格的开户许可制度,对各类账户都规定了详细的开户条件。实施账户集中管理,目的是要把好银行账户关口。同时还颁布了现金管理条例,对提取大额现金做出了严格限制;发布了支付管理办法,对异常的大额奖金划转实行报告制度。
尽管银行账户管理有比较全面的规定,但目前实施情况还并不令人满意。金融机构违规开户、违规为客户提取现金等现象还仍大量存在,个人存款实名制度的执行也很不彻底。出现这些问题的原因是多方面的。主要是因为,金融法律法规不健全,金融管理机制不完善,金融机构缺乏依法经营的自我约束,金融监管还不到位,社会法制和信用观念淡薄等。比如,现行银行账户管理,仍分散在各地人民银行和单位金融机构中,没有形成联动效应。再比如,一些金融机构为拉存款和扩展业务,不惜牺牲制度的要求,放松账户管理,对不具备条件的开户和提取现金,视而不见,大开绿灯。 为此,我国目前正在构建全新的银行账户管理系统,加大账户管理力度。新系统的显著标志是,充分利用现代化网络技术,将各金融机构的账户信息联系起来,形成全国统一信息,并与同城清算系统连接。
按照集中统一、分级管理的原则,全国统一的银行账户管理系统分为两个级次。一是总行级次。设立账户数据管理终端。中国人民银行总行根据需要,调用可疑账户。二是分支级次。各分支行建立账户管理数据库,集中存储所辖地区真实完整的银行账户信息,对基本账户或临时账户的开立、使用和变更等实施监控,并按规定查询跨地区信息,提供异地开户服务。对银行账户不实行网上审批方式的人民银行县支行,可通过计算机终端与中心支行数据库联接,实施账户管理。各地商业银行负责审查客户开户资料的真实、完整性,负责银行账户的申报和部分账户的审批并备案。有条件与该系统联接的商业银行,可通过终端办理银行账户的开立、撤销及变更处理(基本账户、临时账户的开立、变更必须经过授权),并可根据其管理权限,对其本级或下级行的各类账户信息进行查询、下载、统计和分析。
分支行级次(数据库)
分支行级次(数据库)
总行级次
人民银行县支行
县级商业银行
所在地商业银行
人民银行县支行
县级商业银行
所在地商业银行
全国银行账户管理系统的框架图(3-1)
3.2 现行研究存在问题及解决方法
随着社会经济形势的迅速发展变化,原有银行账户管理系统已不能完全适应当前的要求,账户管理工作的问题也日渐暴露出来。目前账户管理存在的问题主要集中于几个方面:
一是专有存款账户滥用情况比较严重,一般存款账户变相取现仍然存在。
二是账户管理缺乏统一性、指导性。
三是账户管理缺乏约束力、缺乏力度。
因此,新的银行账户管理系统还应当借鉴国际上的通行做法,以适应我国经济、金融发展的现实需要。具体解决方法有:
第一, 抓源头,把握好账户开立的准入关。
第二, 严格对开立银行账户存款人的身份确认。
第三, 银行账户管理应从“严进宽管”转变为“宽进严控”。
第四, 确立银行与存款人的平等自愿选择原则。
第五, 充分体现银行与存款人开立、使用银行账户的权利与义
务对等原则。
第六, 必须将个人存款账户纳入银行账户管理范围。
第七, 强化账户监管理念,完善账户管理手续,实施多方
位的管理系统。
3.3 功能需求
经过本系统的设计,最终达到广大用户的需要,实现有效的系统管理,能方便的提供用户信息修改、开户、销户、办卡、挂失卡、换卡、存款、取款以及管理员、取款机信息管理,并能即时打印所需的报表及输出,对系统提供的维护和帮助也是简捷、有效的。
3.4 外接口需求
一、用户界面
采用Windows的通用图形界面,对用户友好,且必须对鼠标和键
盘提供支持界面的设计应遵循如下规则:
1.界面要具有一致性,界面规范应遵循MSWindows软件界面的规范;
2.提供简单的错误处理;
3.提供信息反馈,用多种信息提示用户当前软件运行状态、软件界面元件的功能;
4.操作可逆,其运作可以是单个的操作,或是一个相对独立的操作序列;
5.设计良好的联机帮助;
6.显示启动画面,画面简洁明快,富有现代气息,不能太过花硝;
7.应遵循国家关于计算机词汇的特点,用词应当精练准确,没有歧义,图形的意义明朗。
二、硬件接口
支持一般的PentiumⅡ或更高档微机、笔记本电脑。
三、软件接口
运行Windows 9x /me/2000/NT,且具有WIN32 API的操作系统
之上。
四、故障处理
正常使用时不应出错,若运行时遇到不可恢复的系统错误,也必须保证数据库完好无损。
3.5 性能需求
一、数据精确度
二、时间特性
三、适应性
3.6 软件属性需求
一、 正确性、可靠性、完整性
二、 效率、易使用性
三、 可维护性、可测试性、复用性
四、 可理解性、可移植性、互联性
第四章 银行账户管理系统功能设计
4.1 基本功能及目标
银行账户管理系统的基本功能:
一是审核和管理功能。系统按规定对基本存款账户、临时存款账户和特定专用存款账户的开立及其他进行审核,确保账户信息的真实和完整,特别是确定基本存款账户的惟一性。对开户许可证的核发、使用、挂失和补发,实行统一管理,并将存款人的所有开户信息记载在开户许可证上,以便存款人、银行及有关部门及时全面了解有关情况。
二是信息存储、查询和统计功能。系统通过网络申报的一般存款账户、专用存款账户的信息,已核准的基本存款账户、临时存款账户和特定专用存款账户的信息,以及录入的账户开立、撤销主变更信息,集中存储和统一管理。根据需要和授权,系统提供账户信息查询服务。按不同的口径,统计各类账户数量、账户明细情况,以及账户流量与流向等信息。
三是信息监测功能。系统可与票据交换系统、现代化支付系统联接,实现账户数据的合规性对比,用于监测未审核批准或未申报的账户,实现对所有银行账户的全面监测和管理。
四是其他附带功能。为支付信用信息查询系统、异常支付监测系统等其他系统提供数据接口,扩展系统功能。
总之,建立全国统一的银行账户系统,将实现对全国所有单位和个人账户信息的共享,将账户的管理、使用、监控和服务功能有机地结合起来,这对规范金融秩序,强化社会信用,提高金融管理水平将起到重要作用。
4.2 系统主要功能
根据系统需求分析,银行账户管理系统需要完成的功能主要有:
◇ 管理员信息管理;
◇ 用户信息修改、开户、销户;
◇ 办卡、挂失卡、换卡;
◇ 存款、取款;
◇ 取款机信息管理;
◇ 报表输出、报表打印。
4.3 主要功能模块的规则
根据需求,本系统将设计以下几个主要功能模块:
1.主程序设计;
2.数据库的设计:
(1)数据库概念结构设计;
(2)数据库逻辑结构设计;
3.用户信息查询窗口;
1. 系统菜单。
4.4 灵活应用Visual FoxPro数据库管理系统
Visual FoxPro 6.0数据库管理系统是一个关系数据库管理系统的系统软件,是XBASE系列软件中的佼佼者,它在流行的XBASE系列软件的基础上提供了诸多新功能,技术有所超越,大大改善了计算机用户环境,对数据的组织,数据库的建立及应用系统的开发更为方便,受到众多用户的青睐。
一、Visual FoxPro 6.0系统提供了一个由菜单驱动、辅
以命令对话框的简洁友好、功能全面的界面。
二、Visual FoxPro 6.0系统提供了丰富多样的可视化工具,
使得剪切、删除、拷贝、粘贴、字符串、查找和替换、取消、恢复等编辑操作方便快捷,为程序或文本的编辑提供了方便灵活的操作手段。
三、Visual FoxPro 6.0系统可以方便地存储、检查和处理服务器平台上的关键信息。也可对FoxPro生成的应用程序向下兼容。
等等。(在此不一一列举)
第五章 银行账户管理系统模块设计
通过对用户需求分析、系统功能设计,我们可以分析出该银行账户管理系统的功能模块图(如图 5-1)。
银行账户管理系统
主菜单
退出系统
系统帮助
取款机管理
用户信息查 询
账户管理
版本信息
客户操作
管理员管理
卡
管
理
普通
管理
数据查询
取款机安装拆除
开户销户
换卡
查询
存取款
挂失卡
办卡
图5-1 银行账户管理系统功能模块图
5.1 主程序设计
本系统根据系统功能设计,主要包括了知识库、数据库、模型库、方法库,对银行账户管理、用户信息查询、取款机管理等进行了合理、有序的考虑。本系统主程序设计简单,就上述这几点进行简单的编译,分别实现了各自的子功能。
5.2 数据库的设计
在Visual FoxPro 6.0中,数据库指的是可以存储一个或多个表(.DBF文件)及视图的关系数据库,所谓的关系数据库就是多个表的集合,每个表通过形成一定关系的公共字段与另外的表相联系。一般来说数据库可按下列步骤进行设计:
(1)确定需要的表。着手把信息分成各个独立的主题,每个主题对应一个表。
(2)确定所需字段。确定每个表中要保存哪些信息,一个信息为一个字段。
(3)确定表之间的联系。
值得注意的是在创建表时,必须确保一个表中的每个字段都要直接描述该表的主题,每张表应尽可能收集所需的全部信息,如果存在多张表保存同类信息的情况,应该将所有和同一主题相关的信息合并到一个表中。
数据库系统设计时应在全面考虑的前提下,尤其应该仔细考虑用户的各种需求,避免浪费人力和物力。
数据库需求分析是数据库结构设计的第一阶段。这个阶段主要是收集数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为以后进一步设计打下基础。
在仔细调查银行账户管理过程的基础上,我们得到本系统所处理的数据流程如图5-2所示。
管理员管理
账户信息
普通管理
卡信息
存取款
图5-2 数据流程图
针对本实例,通过对银行账户管理的内容和数据流程分析,我们设计的数据项和数据结构如下:
◇用户普通信息表。包含所有用户的信息,数据项有:账号、用户姓名、密码、身份证、总金额、状态、住址、开户时间。
◇用户卡信息表。包含的数据项有:账号、卡号、卡密码金额、状态。
◇取款机信息表。包含的数据项有:取款机ID号、安装地点、安装时间以及拆除时间。
◇取款机存取款信息表。包含的数据项有:取款机ID号、用户账号、用户卡号、存取款时间、存取款金额、存取款摘要、总金额。
◇用户银行存取款信息表。包含的数据项有:操作员(管理员)号码、用户账号、用户卡号、存取款时间、存取款金额、存取款摘要、总金额。
◇用户存取款信息总表。包含的数据项有:用户账号、存取款时间、存取款地点、存取款金额、存取款摘要、总金额。
◇管理员信息表。包含的数据项有:用户、口令。
有了上面的数据结构、数据项和数据流程,我们就能进行下面的数据库设计。
5.2.1 数据库概念结构设计
这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。
根据上面的设计规划本实例中的实体有:管理员实体、账户实体、账户普通信息实体、账户卡信息实体、取款机实体。
实体和实体之间的关系E-R图如图5-3所示。
管理员
取款机
1
管理
对应
N 1 N
对应
N
账户
1 1
1
包含
普通信息
卡信息
图 5-3 实体之间关系E-R图
5.2.2 数据库逻辑结构设计
我们需要将上面的数据库概念结构转化为Visual FoxPro数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
在上面的实体以及实体之间的基础上,形成数据库中的表格以及各个表格之间的关系。
注意,本系统中的账户相关信息以“某某银行”为例。如银行账户使用19位数字,卡号使用19位数字。
银行账户管理系统数据库中各个表格的设计结果如下面的几个表格所示。每个表格表示在数据库中的一个表。表5-1为用户基本信息表。
表5-1 USER 用户基本信息表
列名
数据类型
可否为空
说明
用户账号
CHARACTER(19)
NOT NULL
账号(索引)
用户姓名
CHARACTER(8)
NULL
用户姓名
用户密码
CHARACTER(6)
NULL
用户密码
用户身份证
CHARACTER(18)
NULL
用户身份证
总金额
NUMERIC(10,2)
NULL
总金额
现在状态
CHARACTER(4)
NULL
现在状态
用户住址
CHARACTER(20)
NULL
用户住址
开户时间
DATE
NULL
开户时间
(在此所有的表不一一列出)
5.3 用户查询表单的设计
用户可以通过本模块查询自己的存款记录,并给出各次操作后的存款余额,以便用户对照。在实际生活中表现为用户的存折记录。
1.视图的创建
在项目管理器中选择“数据库” →account→Local Views(本地视图),点击“New(新建)” →“New View(新建视图)”后弹出视图设计器并为视图添加要用的表。如为本设计中的视图添加表userall。
选择视图设计器下方的“字段”选项卡,为视图设置可以显示的字段,如本设计中将表中的字段全部选中。
“联接”选项卡是在视图含有多个表时设置表之间的联系用的,本视图只有一个表,故不需要设置。
接下来设置“筛选”选项卡,视图可以设置筛选条件,达到根据不同条件显示不同数据的功能。
本设计中要求视图获得不同的参数后显示不同的数据,即当得到某账号参数时,显示该账号的存取款记录。
这里设置本视图的参数为par,在填写筛选条件时要在参数前加问号(?)。在这里设好了参数,但实际上它并没有声明。
要声明视图参数,请选择Visual FoxPro的主菜单中“查询 →视图参数”命令,此时弹出声明参数的对话框,填入par,选择字符型,这样视图参数的设置就完成了。
选择“更新条件”选项卡,选择将字段全部更新。
设计完成后将视图存储为“grcx”。这里需要注意,视图是包含在数据库中的,不能独立存在。到此为止,视图设计就完成了。
2.查询模块的设计
首先为表单设计数据环境,并设置联系关系。如图5-7所示。
图5-7 查询表单的数据环境
这里要注意其中一个是视图,一个是数据表。
为表单添加控件,用户可以通过直接拖拽数据环境中的表(或
视图)的表名、字段组、字段名、字段的功能。这样添加的控件不用设计数据源,它将直接与数据环境中的表(视图)或字段相连。
5.4 主菜单的设计
当系统的各种工作窗口设计完成后,就要设计系统主菜单。
一、 菜单功能:
本系统的主菜单为菜单1.mpr,其功能如表5-2所示:
菜单名
子菜单
菜单项功能
账户管理
do form checker1
用户查询
do form checker2
ATM取款机模拟
do form atm
系统帮助
版本信息
do form about
退出系统
表5-2 主菜单 菜单1功能
其中,“退出系统”菜单选项的程序代码如下:
*ct.prg
nYesNo=Message Box(“确定要退出吗?”,4+48+256,“提示”)
if nYesNo=6
on shutdown
clear event
clear table all
close database
quit
else
nodefault
endif
二、调用菜单
调用菜单使用如下命令:
do 菜单1.Mpr
5.5 主要功能模块的组装
完成系统各功能部件的设计后,便可以使用项目管理器组装系统的各功能部件。
本系统项目组装操作,有以下一些内容:
一、建立项目文件
建立项目文件“银行账户管理系统.pjx”。
二、添加数据
打开项目管理器,选择“数据”选项卡,按“添加”按钮,将设计好的所有表及数据库添加到“银行账户管理系统.pjx”项目文件中。如图:5-2所示:
图5-2
三、添加表单文档(步骤同上)
四、添加类库
五、添加应用程序
六、设置项目信息内容
打开“项目管理器”,打开“项目”菜单,选择“项目信息”,设置系统开发的信息。
七、设置系统菜单及相关位图文件
八、连编可独立执行文件
打开项目管理器,按“连编”按钮,再选择“连编可执行文件”单选按钮,再输入可执行文件名“银行账户管理系统”,即可编译成一个可独立运行的银行账户管理系统.exe文件。
第六章 银行账户管理系统程序设计
程序设计是将由算法流程图或形成化语言表示的系统功能模块图中的每个模块的详细设计方案,翻译成用某种计算机程序设计语言表示的可由计算机执行的源程序代码。
在进行本系统的开发设计中,就个人的想法,开发了以下几个典型的程序,无论是从设计思想还是从实现属性等各方面讲,我个人认为都是比较新颖的。同时,也从中悟出了一些道理。
6.1 账户管理模块创建
本模块的功能在于管理员通过简单的操作,可以实现银行账户管理的一般功能。如存款、取款、开户、销户、修改信息、办卡、挂失卡等等,内容丰富,较繁琐。因此,是本系统设计的重点。
1.表单
首先创建新的表单“账户管理.scx”。鉴于本表单内容多,这里用页框来实现一个表单多页面的显示。首先向表单中添加控件PageFrame(页框),设置页框的PageCount属性为7,即页框中包含7个子页面。在页框上单击鼠标右键,选择“编辑”进入页框的编辑。
为表单设置Init事件代码:
public lastuser,lastcard
* 声明全局变量lastuser,lastcard
sele blank
lastuser=alltrim(bank.最后一个账号)
lastcard=alltrim(bank.最后一个卡号)
* 将表bank中的值赋给相应变量
2.存款
存款功能是账户管理中必不可少的一项功能,其模拟过程与现实生活一样,由管理员输入账户的账号或卡号、存款金额。此子页面的界面如图6-1所示。
图 6-1 存款子页面
各主要控件的具体代码在此不详细列出,但其功能是对账号和卡号进行存款操作。
其间,管理员有时要求一次性清除所有输入的信息,因而设置一个“清空”按钮,将各个文本框中的内容全部清空。其Click事件代码为:
this.parent.text1.value=‘’
this.parent.text2.value=‘’
this.parent.text3.value=‘’
this.parent.text4.value=‘’
* 清空各文本框内容
this.parent.text1.setfocus
* 将光标焦点设置到文本框1中
3.取款
取款过程与存款类似,因取款的重要性而导致该代码段必须包含
大量的纠错功能,同时它也实现了从账号或卡号中提款的功能,在该账号的存取款记录中也留下了相关的记录。
4.开户
在创建数据库时,创建了Bank.dbf表,它的内容即为银行的最
后一个账号和最后一个卡号,用于账号的生成及卡号的生成。在开户之前,先获得最后一个账号到全局变量lastuser中,将账号加1后成为新用户的账号,同时要更新Bank.dbf中的数据。
5.销户
有开户当然就有销户,它提供的功能是取消用户的账号。
本段设计为管理员操作,因此输入的项很简单。只需要管理员输
入账号,系统即自动显示该账号的姓名及存款余额,管理员核对后可进行注销操作。
如果该账号还有余额,系统要提示管理员进行相应操作,防止错
误操作。
注销完成后不但该账号被删除,账号对应的卡号也被删除。
6.修改信息
当用户希望修改账号密码时,我们用此页面的功能来实现。这里
设计账号只能修改密码,其他项不能修改。
其界面如图6-2所示。
图 6-2 修改信息子页面
7.办卡
在现在的银行中,均有办卡的服务,它的过程与开户类似,只是
不需要输入那么多信息,只要有账号就可以办卡。此子页面的界面如图6-3所示。
图 6-3 办卡子页面
本界面模拟生活中的实际操作,由管理员输入账号,用户输入账
户密码。确认后办理新卡即生成新的卡号,用户为卡设置卡密码。最后确认后办卡完成。
8.挂失卡
当用户的卡丢失后,可以向银行提出挂失。本页面便是提供了此
项功能。挂失后该卡不能在银行或者是任何的取款机中使用。而当用户找到卡后,可向银行申请该卡恢复使用。此子页面的界面如图6-4所示。
图 6-4 挂失卡子页面
为表单添加一个EidtBox(编辑框)控件,设置其Value属性为要提示管理员的句子。如本代码段中为“请检查用户的身份证,账户必须输入卡号并携带身份证来挂失!”
最后在表单中添加一个“退出”按钮,该按钮的Click事件代码为:
thisform.release
整个账户管理模块的设计到此就全部完成了。
6.2 取款机模拟设计
各个银行均在特殊地点设置了取款机方便用户,本模块的功能是模拟ATM取款机的取款过程设计的。其基本过程是,用户输入取款机号、卡号、密码,通过验证后进入交易,用户可以查看余额,取出现金。系统自动更新用户账户及卡中的存款余额,并在用户存取款信息中作记录,在ATM机的存取款信息中作记录。
首先为表单设置数据环境,并将各表的相关字段连接起来,以便引用。
接着向表单中添加控件,如图6-5所示:
图6-5 取款机表单界面
其间“进入交易>>”按钮的Click事件代码为:
local cardid,pswd,atmid
atmid =alltrim(bol.value)
cardid=alltrim(this.parent.text1.value)
pswd=alltrim(this.parent.text2.value)
if empty(atmid) or empty(cardid) or empty(pswd)
* 判断输入信息是否完整
message(“ 对不起,信息不完整,无法进行交易!”,48)
else
select card
local for alltrim(card.用户卡号)=cardid
if eof()
message(“对不起,没有这个卡号!”)
else
if card.卡密码〈〉pswd
message(“密码不正确,请重试!”,48)
* 密码验证
falg=flag+1
if flag>=3
* 输入密码错误3次后释放本表单,生活中的取款机操作为直接吞卡
thisform.release
else
thisform.text2.value=””
endif
else
if card.现在状态=“停用”
* 当卡号被挂失时不能取款
messagebox(“对不起,本卡已被挂失,如有疑问,请向银行询问!”,48)
else
this.paren.text3.value=card. 总金额
*显示用户存款余额
this.parent.text4.enabled=.t.
endif
endif
endif
endif
本段代码的功能是判断用户的卡号和密码,当与银行数据库符合且该卡未被挂失时进入取款机操作。其中包含当卡被盗时必要的防范手段。
“取款”按钮的click代码就不详细列出,其功能是根据用户输入的款数进行取款操作,其中包含必要的取款数与存款数大小的比较判断。
6.3 系统维护模块创建
6.3.1 表单圆形效果
异形窗口在Visual Basic、Delphi程序中经常可以见到,其实在VFP程序中同样可以做到,本表单程序运行后,在屏幕上显示圆形窗口,运行界面如图6-6所示:
图 6-6 圆形表单
一、 实现程序说明
通过API函数SetWindowRen实现异型表单功能,
SetWindowRgn函数能够将窗口设置成任意形状。该函数调用格式如下:
Int SetWindowRgn(HWND hWnd,HRGN hRgn,BOOL bRedraw)
其中各参数的含义如下:
hWnd:欲改变窗口的句柄。
hRgn:窗口的显示区域。
bRedraw:指明窗口在被改变显示区域之后是否需要重绘,通常情况下该值为真。
通过上面对SetWindowRgn函数的介绍,在VFP中要想直接得到有关窗口的情况是很困难的,必须利用API例程库。VFP有自带的API例程库“Foxtool.fll”提供了对窗口操作的相关函数。本表单中能够用到的例程有_WOnTop()和_WhToHWnd()两种,其中_WOnTop()用来获得顶层窗口的句柄,_WhToHWnd()返回指定窗口的句柄。
二、实现运行表单的源代码与注释:
1.设置表单和控件事件代码,其中表单Form1的Load事件代码为:
* 注册API函数
declare integer SetWindowRgn in win32api ,integer ,integer ,integer
declare integer CreatRoundRectRgn in win32api, integer ,integer ,integer, integer ,integer ,integer
* 注册VFP的API力、例程库
SET LIBRARY TO “Foxtools.fll”
* 设置表单的大小
thisform.top=50
thisform.left=30
thisform.height=500
thisform.width=500
2.表单Form1的Activate 事件代码为:
thisform.label1.top=thisform.top+thisform.height/2- thisform.label1.height
thisform.label1.left=thisform.left
mand1.top=thisform.height-
3*mand.height
mand1.left=thisform.left+
(thisform.width-mand.width)/2
* 上述代码主要是用来在圆形窗口中准确定位各控件的位置
topWindow=_WOntop()
* 获得顶层窗口
hWnd=_whToHwnd(topwindow)
* 获得顶层窗口的句柄
CRN=CreateRoundRectRgn(0,0,500,500,500,500)
* 建立圆形窗口,如果要做其他形状窗口,只需调用不同的建立区域的函数。
SetWindowRgn(hWnd,CRN,.T.)
mand1控件的click事件代码为:
thisform.release
6.3.2 文字推
展开阅读全文