Delphi学生公寓管理信息系统(毕业论文).doc_第1页
Delphi学生公寓管理信息系统(毕业论文).doc_第2页
Delphi学生公寓管理信息系统(毕业论文).doc_第3页
Delphi学生公寓管理信息系统(毕业论文).doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学生公寓管理信息系统摘要在各高校扩大招生的形势下,公寓管理的工作变得越来越繁重。采用传统的人工管理模式,效率低下,不能满足实际的需求。本文描述的是基于windows环境的学生公寓管理系统,对学生公寓管理的需求进行了分析。本系统的主要功能包括:住宿人员的信息查询、出入登记、学生收费、以及对学生住宿情况的查询,可以更快地知道每个学生的住宿情况,使公寓的管理效率更高。系统的设计与开发采用服务器/客户机的系统结构模式,使用delphi开发工具开发,应用sql server2000数据库管理系统,通过ado连接数据库。本篇论文以一个学生公寓管理系统的分析、设计和开发的全过程为主线,给出了学生公寓管理系统的设计和技术实现的过程,特别在细节上分析功能和函数的实现思想。涉及到学生公寓管理的基本功能在本论文中都有相应的描述。关键字:delphi,ado,sql server2000,学生公寓管理student apartment managementabstractin the last few years in company with university institution deepening reformation, in many universities student apartments administration work take charge all by logistics group. in university enlarged recruit students posture, apartment administration became more and more pettiness. and conventional manual supervising pattern is inefficiency and insatiability for practical wants and needs, connect database through ado.the architecture of system is client and server. the windows based dm system developed by delphi and sql server2000 database tools. this thesis analyzes the requirements of organization and configuration. it mainly includes: the lodgings personnel information inquiry, the difference registration, the students fee, as well the situation to the student and so on the inquiry, may quickly understand each students lodgings situation, causes the apartment the management efficiency high, dose it better.this thesis fully describes the whole process of system design and application details. all most functions of apartment administration are discussed in the corresponding part of this thesis.key words: delphi, ado, sql server2000, student apartment management目录第一章引言11.1课题背景11.2研究与应用现状11.3本文的主要内容1第二章相关技术介绍22.1 delphi22.1.1 delphi特点22.1.2 delphi722.1.3 delphi与vb32.2 sql server32.2.1 sql server 200032.2.2 sql server 2000的特点32.3 ado技术4第三章需求分析53.1需求分析53.1.1学生公寓需求简介53.1.2功能性需求53.1.3 非功能性需求53.2可行性分析53.2.1经济可行性53.2.2技术可行性6第四章总体设计74.1总体设计目标74.2功能模块设计74.3数据库设计84.3.1数据流分析84.3.2数据建模114.3.3各实体关系模型114.3.4数据库逻辑结构设计13第五章系统详细设计165.1系统工程框架165.1.1学生公寓管理系统的模块:165.1.2 data 数据模块165.1.3 common 类模块165.2系统各模块详细设计175.2.1登录窗体与系统主界面设计175.2.3楼房管理模块设计195.2.4寝室管理模块设计225.2.5学生基本信息管理模块265.2.6来访登记管理模块设计275.2.7交费管理模块设计305.2.8系统管理模块设计32第六章学生公寓管理系统设计总结346.1系统的优点346.2系统的局限性346.3毕业设计心得346.4 毕业设计总结35参考文献36致谢37第一章 引言21世纪,人类已全面进入数字信息化社会,现在信息技术的应用越来越普及,不但促进了社会的高速发展,也影响着人们的工作、学习、生活和娱乐的方式以及思想观念。随着科学技术的不断提高,计算机科学与技术日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域,迅速地改变着人类社会的生产方式和生活方式,成为减轻人们体力与脑力劳动,帮助人们完成一些人们难以完成任务的有效工具。随着电脑的普及与使用,现在的管理也提升了一个档次,渐渐实现了无纸化办公。高校是科研的阵地,后勤的公寓管理也应该一改传统的人工管理,更加信息化,时代化,节省人力物力,提高效率。基于这一点,开发此学生公寓管理系统。1.1课题背景高校公寓管理部门在宿管工作中担负着管理,检查,收费,协调等重要的管理任务。住宿安排、水电使用的收费、外来人员访问管理等,所涉及的管理面广,内容多,整个公寓管理的工作量很大。计算机的应用为实现公寓管理科学化奠定基础。计算机的应用推动了公寓管理工作向着正规化、科学化、自动化、现代化的方向发展。学生公寓管理系统从学生的分房到最后的公寓管理全部电脑化。本系统主要包括:住宿人员信息查询、出入登记、收费以及对学生住宿情况等的查询,可以更快地了解到每个学生的住宿情况以及这个学校寝室分配的情况。使用学生公寓管理系统,只需一到两名数据操作员即可操作管理系统,节省大量人力和财力;可以存储大量学生住宿的基本信息,安全、高效、快捷;可以迅速查到所涉及的各种信息;操作简单,使用方便、高效;系统使用寿命长、成本低。这些特点可以极大地提高公寓信息管理的效率。1.2研究与应用现状据调查显示,现在国内绝大多数学校的学生公寓管理还没有信息化,主要还是停留在手工管理的形式。这样,公寓管理的效率就非常低,需要的人力,物力也非常多,所以,尽快开发一套适合各高校的学生公寓管理系统是非常必要的。1.3本文的主要内容本文研究的主要内容有:l 学生公寓管理系统的需求分析l 学生公寓管理系统开发的相关技术l 学生公寓管理系统的总体设计l 系统数据库的概念设计l 系统各模块的详细设计l 系统评价以及设计中碰到的难点第二章 相关技术介绍开发数据库管理信息系统需要两种工具,即前台开发语言和后台数据库。本系统前台开发技术使用delphi,后台数据库使用sql server2000。delphi灵活方便,与后台的sql server2000数据库相结合,可以提供一个高性能的学生公寓管理系统。2.1 delphidelphi是pascal语言的一种版本,但它与传统的pascal语言有很大差别。一个delphi程序首先应是程序框架(frame),而这一框架正式应用程序的“骨架”。在骨架上即使没有附着任何东西,仍然可以运行。所要做的工作只是在“骨架”中加入程序。缺省的应用程序是一个空白的窗体(form),运行可以得到一个空白的窗口。这个窗口具有windows窗口的全部性质,可以被放大缩小、移动、最大最小化等。程序框架及一个空白的窗体已经是一个可运行应用程序,只是不处理任何事情。2.1.1 delphi特点delphi自从1995年2月诞生以来,获得了巨大的荣誉和广泛的影响力,以可视化编程、强大的编译功能、友好的用户界面闻名于世。主要特点是:l 高效的可视化组件库和面向对象的架构。l 具有多种操作向导和在线帮助,大大方便程序编写。l 界面设计所见即所得和鼠标拖曳方式,可以轻松设计出华丽的界面。l 支持各种最新及最常用的技术如 win32 api、ole、com、dcom、activex、isapi、nsapi、directx等。l 全面支持windows 应用程序。l 具有开放式数据库结构,集成了丰富的数据库开发工具。l 具有强大的面向网络编程功能,其c/s开发工具在高性能的快速应用程序开发领域成为行业标准。delphi产品按照功能可以分为4个类型:l delphi集成开发环境(integrate develop environment):提供友好的用户编程开发界面,集成了高效的编译器、项目管理器、团队开发支持、高级调试等功能。l delphi可视化组件库(visual component library):提供几百个常用组件,用于数据库访问、用户接口、数据处理、报表和internet开发。l borland数据引擎(borland data engineer):能够进行数据库管理,并与数据库服务器高速连接。l midas:是一个集成与delphi的分布式应用稽核,功能强大,主要用于商业逻辑的智能集中管理和企业交易的快速处理。2.1.2 delphi72002年8月6日,borland公司正式宣布推出delphi 7 studio,全面支持microsoft公司.net平台应用的开发。delphi7是一个针对windows平台上的跨平台快速开发(rad)环境。delphi7的一个显著特性是企业开发和部署。 delphi7的新特点:l 企业应用的mda开发:通过让开发者从设计到发布都重复使用一个应用程序,加速开发进程,同时显著减少代码量和需要的开发时间。l 可视化的快速web开发:让开发者能够在delphi7环境中可视化地创建web应用,并且利用它的应用模型框架,不必再考虑通用的服务器端的开发任务,还能透明地处理会话管理。l 内建的linux的跨平台支持:delphi7在出售时将附带delphi语言版本的dylix3。kylix3是第一个linux操作系统上的高性能的可视化集成开发环境(ide),它适用来快速创建数据库应用、gui应用、web应用和web服务应用。l 企业级的报表能力:让开发者能创建跨平台的报表,这些报表能帮助查看应用程序运行的效率。l windows xp应用:delphi7包含了对windows xp风格支持,让开发者能够创建可以利用windows xp 使用者界面风格的应用。 2.1.3 delphi与vbvisual basic(vb)是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。它源自于basic编程语言。vb拥有图形用户界面(gui)和快速应用程序开发(rad)系统,可以使用dao、rdo、ado连接数据库,或者创建activex控件。本系统采用delphi进行开发,主要原因:l vb不支持面向对象,delphi却是面向对象的。l vb无法编译原生目标文件,而delphi可以。l vb无法对底层操作,而delphi可以。l vb有依赖性,即用vb作的程序换别的操作系统还要重新包装,delphi则不用。l vb没有类库,delphi的类库很多,还可以继承。 2.2 sql server 数据库是数据管理的最新技术,是计算机科学的重要分支。今天,信息资源已成为各个部门的重要财富和资源。建立一个满足各级部门信息处理要求的行之有效的信息系统也成为企业或组织生存和发展的重要条件。因此,作为信息系统核心和基础的数据库技术得到越来越广泛的应用。对于一个国家来说,数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。 2.2.1 sql server 2000sql server 2000 是一个高性能的客户端/服务器结构的关系数据库管理系统。sql server 2000是为支持高容量的事务处理以及数据仓库和决策支持系统而设计的。它是microsoft 公司推出的,该版本继承了sql serve 7.0 版本的优点,同时又比它增加了许多更先进的功能,可跨越从运行microsoft windows 98 的电脑到运行microsoft windows 2000 的大型多处理器的服务器等多种平台使用。2.2.2 sql server 2000的特点l 简单易操作:sql server 2000 界面风格和windows界面风格完全一致。l 兼容性良好,具有扩展性,可靠性。l 数据仓库: sql server 2000增加了olap功能。olap可以通过多维存储技术对大型、复杂数据集执行快速、高级的分析工作。数据挖掘功能能够揭示隐藏在大量数据中的倾向及趋势,它允许组织或机构最大限度地从数据中获取价值。通过对现有数据进行有效分析,这一功能可以对未来的趋势进行预测。2.3 ado技术 ado( active data objects )是一种提供访问各种数据类型的链接机制,是通过odbc的方法访问数据库的接口。ado主要优点是易于使用、高速度、低内存支出和占用磁盘空间较少,同时具有远程数据服务(rds)功能。在delphi中,提供了一组ado组件,用于对ado访问能力的支持。第三章 需求分析 3.1需求分析 3.1.1学生公寓需求简介学生公寓管理应考虑以下几方面的要求: 用户需求:可以对学生公寓进行有效的管理,包括公寓信息、寝室信息、学生住宿资料以及交费信息等。学生方面:让学生感觉到学校的管理透明。学校方面:可以查询每一个学生的相关信息。来访人员方面:为防止公寓安全,所有来访人员必须提供学生住宿的公寓号和寝室号才可以进入公寓。3.1.2功能性需求软件需求分析是指对目标软件系统在功能、行为、性能、设计约束等方面的期望。需求分析是软件设计、实现测试直至维护的主要基础,良好的需求分析可以避免或尽早提出早期的错误,从而降低软件的开发成本,改进软件的质量。本学生公寓管理系统应完成以下任务:l 学生寝室基本信息管理:首先统一安排学生入住,如果有学生要更换寝室,可以方便查到哪个寝室还有空床,包括该寝室内已住学生的基本信息,安排入住。l 学生公寓管理:可以添加新建公寓的信息,以及添加该公寓内的寝室信息,以及修改公寓和寝室的相关信息(公寓号和寝室号)。l 寝室收费管理:收费以寝室为单位,当费用收好以后,可以打印报表以查看交费记录。l 来访人员管理:对来访人员进行严格登记,包括来访时间,结束时间,来访人员的来访事由,能查询到每一条来访人员和被访人的信息。3.1.3 非功能性需求用户界面需求:简洁、易用、易懂,友好的用户界面。硬件需求:pentium以上计算机可靠性需求:保证用户在正常使用本系统时,用户的操作或误操作不会产生数据丢失。安全保密性需求:用户登录需要密码验证。3.2可行性分析开发任何一个系统,都会受到时间和资源上的限制。因此,在每一个项目开发之前,都要进行可行性分析,以减少项目的开发风险,避免人力,物力和财力的浪费。可行性分析主要包括经济可行性和技术可行性等。3.2.1经济可行性经济可行性,主要是针对一个学校的,开发系统的成本与收益相比较。如今是信息化时代,信息化管理可以使学生公寓管理更加系统化,全面化、快速化,这样可以为学校带来高校的工作效益和经济效益,开发出本系统可以减少公寓管理人员人数,而且管理方便,各功能实现快速,数据有效的管理。这些效益和管理上的便捷远远超过了开发本系统的成本,所以在经济上具有完全的可行性。3.2.2技术可行性本系统开发工具是delphi和sql server2000。delphi具有可视化界面,是一种面向对象的语言,简单易学而且灵活方便,sql server 2000是一个安全、可靠的并且支持面向对象设计的数据库系统。易用性和可维护性也很好。在大二期间,就已学过sql server2000。所以,学生公寓管理总体上开发难度不高,技术上具有完全的可行性。数据库的设计和操作是本系统设计的核心。在大学期间曾经学习过软件工程,也以四人一组完成过有关的大作业,具备一定的系统分析与设计能力,熟悉数据的设计与操纵。因此,本系统的实现在技术上是可行的。第四章 总体设计 4.1总体设计目标l 减少公寓管理人员大量繁琐的工作。公寓管理人员通过使用本系统,可以随时根据需要,查询公寓、寝室、来访人员、交费等信息,对学生公寓管理系统中的数据进行录入、添加、删除和查询,并可以根据特定条件对数据进行查询。l 减少学校在学生公寓管理方面的人力和物力的投资。学生公寓管理系统功能强大、操作简单,拥有友好的易额面,适用于各类学校的学生公寓管理。4.2功能模块设计 系统功能模块包括:(如图4-1)l 公寓管理:包括公寓楼房管理和寝室管理。对学校的公寓以及公寓里的寝室进行管理,处理包括数据的添加、修改、删除、查询等。l 学生管理:包括学生基本信息管理和学生交费管理。对学生入住寝室信息和学生基本信息的管理以及以寝室为单位的收费管理,包括对数据的添加、修改、删除、查询等。l 来访人员登记管理:公寓登记信息的处理,为维护公寓的安全,对来访人员有严格的审查,以及对登记信息的处理。l 系统管理和维护:包括修改口令,添加用户等。学生公寓管理信息系统系统管理学生管理学生基本信息管理公寓管理来访登记管理学生交费管理公寓楼房管理公寓寝室管理针对各模块不同的表实现添加记录、修改记录、删除记录以及查询显示记录等功能图4-1学生公寓管理系统功能模块图4.3数据库设计4.3.1数据流分析数据流图是结构化系统分析的基本工具。一个数据流图确定了系统的转化过程、系统所操纵的数据或物质的收集(存储),还有过程、存储、外部世界之间的数据流或物质流。数据流图技术是可以扩充到允许实时系统的建模。数据流图是当前业务过程或新系统操作步骤的一种表示方法。数据流图可以在一个抽象的广泛范围内表示系统。在一个多步骤的活动中,高层数据流图对数据和处理部分提供一个整体的统览,这是对包含在软件需求规格说明中的精确、详细叙述的补充。数据流图描述了软件需求规格说明中的功能需求怎样结合在一起,使用户可以执行指定的任务。从图中迅速反馈的信息有助于对所探讨的任务流的理解进行提炼加工。学生公寓管理系统的第一层数据流图(如图4-2),本数据流图描述了学生公寓系统的各个模块处理过程中的数据处理的过程。宿管科公寓管理寝室管理来访人员管理收费管理寝室信息寝室信息公寓信息收费信息来访人员信息公寓信息来访人员登记信息收费信息图4-2学生公寓管理系统第一层数据流图 公寓管理中的数据处理图是本系统的第二层数路流图(如图4-3),描述了在公寓管理中所作操作的数据处理。宿管科删除处理添加处理修改处理拆迁的公寓添加新建公寓修改的公寓公寓基本信息图4-3公寓管理模块书录流图 寝室管理数据流程图(如图4-4),描述了用户在添加、删除、查询寝室信息时的数据处理过程。宿管科添加处理删除处理查询处理删除毕业生或离校生信息寝室信息图4-4寝室管理模块数据流图 来访人员管理数据流图(如图4-5),描述了在来访人员访问学生时,用户所作操作的数据处理过程。宿管科来访信息添加来访人员信息查询处理删除处理图4-5来访人员管理数据流图 学生交费管理数据流图(如图4-6),描述了学生交费与宿管科收费处理过程中的数据处理过程。宿管科添加交费项目交费学生交费信息查询处理报表打印图4-6学生交费管理数据流图4.3.2数据建模模型是软件的第一个技术表示。信息系统的建模是用模型来描述复杂的信息系统,使得系统的要求、结构和数据变得简单。设计者通过描述用户的需求获得与用户的不断交互,最终对整个系统能全面地把握。建立完整的数据模型,完成对信息系统中数据的存储和处理。学生公寓管理系统比较复杂,为了建立这样一个复杂系统的模型,并满足实际对象不断发展的需求,在实际设计中应遵循下列原则:l 准确性:所建立的模型要求能够正确反映实际的对象,能够满足学生公寓管理工作的实际需求。l 完整性:指要求模型既能反映对象系统的静态特性,同时能够反映其丰富的动态特性。l 一致性:要求建立的模型能保证从分析阶段到设计阶段的平稳过渡。4.3.3各实体关系模型经过分析,由上面的数据流程图可以得出以下各实体之间的e-r图,(如图3-7至3-9)公寓管理管理员mn寝室组成1n图3-7公寓e-r图公寓寝室公寓公寓公寓nm11n1所属组成拥有n图3-8寝室e-r图床位寝室公寓住宿拥有组成1nnm1n学生来访人nmm1访问管理员管理交费mn图3-9公寓管理e-r图 4.3.4数据库逻辑结构设计 基本定义: 主键:在表中是唯一不可重复的值。具有索引的作用,可以用来快速查询表内数据。 外键:有此表的列或列的组合和其他表的主键值或unique_key具有相关联的特性。此时,可以将这些列或列组合定义为外键。 索引:建立索引是为了加快查询速度的有效手段。用户可以根据应用环境的需求,在基本表上建立一个或多个索引,以提供多种存取路径,加快查找速度。 视图:从一个或几个基本表(或视图)导出的表,它与基本表不同,是一个虚表。 学生公寓系统的数据库包含以下表:表4-1:基本表表名类型说明操作员信息基本表保存系统用户的帐号和密码公寓信息基本表保存公寓信息寝室信息基本表保存寝室的基本信息学生信息基本表保存寝室学生的基本信息来访信息基本表保存公寓来访人员的基本信息交费信息基本表保存交费记录的信息价格表基本表保存交费种类的信息表4-2:操作员信息字段名称数据类型长度说明idint4编号,主键操作员idnvarchar10允许空操作员姓名nvarchar10允许空密码nvarchar10允许空权限char6允许空备注nvarchar50允许空表4-3:公寓信息字段名称数据类型长度说明idint4记录编号,不允许空公寓号nvarchar10公寓楼编号,主键楼层数int4允许空房间数int4允许空启用时间smalldatetime4允许空备注nvarchar50允许空表4-4:寝室信息字段名称数据类型长度说明idint4记录编号,主键寝室号nvarchar10允许空可住人数int4允许空住宿费用float8允许空电话nvarchar10允许空公寓号nvarchar10允许空备注nvarchar50允许空表4-5:学生信息字段名称数据类型长度说明idint4记录编号,不允许空学号nvarchar30学生学号,主键姓名nvarchar20允许空性别char2允许空出生日期smalldatetime4允许空专业nvarchar20允许空班级nvarchar20允许空联系方式nvarchar20允许空公寓号nvarchar10允许空寝室号nvarchar10允许空备注nvarchar50允许空表4-6:来访信息字段名称数据类型长度说明idint4记录编号,主键来访人姓名nvarchar10允许空人数int4允许空被访者姓名nvarchar10允许空所属关系nvarchar10允许空来访时间smalldatetime4允许空结束时间smalldatetime4允许空事由nvarchar50允许空值班人nvarchar10允许空表4-7:交费信息字段名称数据类型长度说明idint4编号,主键公寓号nvarchar10允许空寝室号nvarchar10允许空交费时间smalldatetime4允许空交费类型nvarchar10允许空金额float8允许空备注nvarchar50允许空表4-8:价格表字段名称数据类型长度说明idint4编号,主键项目nvarchar10允许空价格float8允许空收费方式nvarchar10允许空第五章 系统详细设计 5.1系统工程框架 系统工程框架主要简介了学生公寓系统各模块,并对数据模块data和公共类模块common作了详细的说明,并且介绍了相应的实例。5.1.1学生公寓管理系统的模块:l data:提供数据访问支持模块。l common:提供程序中需要的数据实体模块。l fee:学生交费管理模块。l house:公寓信息管理模块。l operator:操作员管理模块。l student:学生基本信息管理模块。5.1.2 data 数据模块学生公寓管理系统的数据库连接管理在data模块中的config.pas中,定义了数据库连接字符串connectionstr来改变连接,代码如下:const/连接字符串connectionstr=provider=sqloledb.1;+password=sa;persist security info=true; +user id=sa;initial catalog=xsgy;+data source=(local);在data模块中,将程序中所有对数据的操作进行了有效的封装,设计出了2个函数:/执行没有返回值的sql语句,如果正确执行则返回true,否则返回falsefunction exesqlnoquery(sql:string):boolean;/ 执行有返回值的sql语句,返回得到的adoquery;function exesqlquery(sql:string):tadoquery; 5.1.3 common 类模块在程序中,为每一张表定义了一个类。存放在common目录下,类的成员变量与对应表中的字段名相同,并在后面加了注释。例如tstudent 类的定义:/学生信息type tstudent=class id:integer; stdno:string;/学号 stdname:string;/姓名 sex:string;/性别 birthday:string;/出生日期 subject:string;/专业 classes:string;/班级 houseno:string;/公寓号 roomno:string;/寝室号 end;5.2系统各模块详细设计5.2.1登录窗体与系统主界面设计登录窗体设计登录窗体命名为 frm_login。(如图5-1)图5-1 登录窗体登录窗体的主要功能是验证用户是否合法,其验证用户的主要流程如图5-2:开始是否输入用户名和密码把用户名和密码赋值给变量用户名是否存在用户名与密码是否匹配登录成功是否失败3次否退出程序是否否否是是是图5-2 登录窗体流程图登录窗体进行身份验证,在用户输入完用户名和密码之后,程序会将用户名和密码与数据库中的数据进行比对,用户登录的机会为3次,如果连续3次密码错误,系统会自动关闭,变量inputnum来记录输入错误密码的次数,其初始值为零。登录窗体在主窗体之前弹出,以确保程序安全性,代码如下:procedure tfrm_main.formcreate(sender: tobject);var frm_login:tfrm_login;beginfrm_login:=tfrm_login.create(self); /创建登录窗体frm_login.showmodal;end;系统主界面设计主窗体命名为frm_main。主窗体由主菜单和工具按钮组成。(如图5-3)图5-3系统主界面主窗体画面简洁明了,外观大方,体现出了程序的易操作性.用户可以根据自己的需求,通过菜单来使用程序的各项功能,工具栏按钮则提供了用户一些常用的功能,让用户可以更加快速,简单地进行操作,为了使程序更加美观,本系统使用了vclskin。vclskin是delphi的控件,可以对delphi程序进行换肤功能。特点:操作简单,不需修改源代码,可以直接美化程序。拥有大量高质量的皮肤。通过vclskin这个控件,对程序的所有窗体的外观以及按钮进行了美化。5.2.3楼房管理模块设计楼房管理模块主要功能l 添加公寓楼房记录。l 编辑公寓楼房信息。l 删除公寓楼房记录。l 查询公寓楼房信息。设计功能界面的父窗体由于本系统中,楼房管理、寝室管理、学生基本信息管理、交费管理和来访人员登记管理等在功能和界面上都十分相似,所以对上述功能模块的界面进行泛化,得到一个父窗体类,以便以后各功能模块的继承。在父窗体中,主要设计了添加、删除、修改等按钮的基本功能,该父窗体名称为frm_info。添加按钮当用户单击窗体中的“添加”按钮时,程序会进入添加状态,令原“删除”按钮显示为“确定”,“修改”按钮显示为“取消”,“添加”按钮不显示。对应代码如下:procedure tfrm_info.btn_addclick(sender: tobject);beginif self.btn_add.caption=添加 then begin self.btn_del.caption:=确定; self.btn_edit.caption:=取消; self.btn_add.visible:=false; end;end;修改按钮当用户单击窗体中的“修改”按钮时,当程序处于修改状态,即“修改”按钮显示为“修改”,原“删除”按钮显示为“保存”,“修改”显示为“取消”,“添加”按钮不显示;当程序处于保存状态时,即修改按钮显示为“取消”时,要取消操作恢复按钮原有显示。对应代码如下:procedure tfrm_info.btn_editclick(sender: tobject);beginif self.btn_edit.caption=修改 then begin self.btn_del.caption:=保存; self.btn_edit.caption:=取消; self.btn_add.visible:=false; endelse begin if self.btn_edit.caption=取消 then begin self.btn_add.visible:=true; self.btn_del.caption:=删除; self.btn_edit.caption:=修改; end; end;end;删除按钮当用户单击窗体中的“删除”按钮时,当程序处于添加或修改的状态,即“删除按钮”显示为“确定”或“保存”时,需要恢复按钮原有显示。对应的代码如下: procedure tfrm_info.btn_delclick(sender: tobject);beginif(self.btn_del.caption =确定) or (self.btn_del.caption =保存)then begin self.btn_add.visible:=true; self.btn_del.caption:=删除; self.btn_edit.caption:=修改; end;end;父窗体里的按钮没有实际功能,只是对一些数据的基本的操作(添加、修改、删除)的按钮相互之间的作用、关系做了编写。父窗体的设计主要是给其他窗体继承用的,因此里面编写了最基本的按钮的代码,这样在建立其他窗体的时候,可以不用编写同样的代码,而且风格也得到了统一。楼房管理窗体设计楼房管理窗体命名为frm_house,继承了父窗体frm_info(如图5-4)图5-4楼房管理窗体添加按钮当用户单击“添加”按钮时,程序会将公寓楼号等文本框清空,以便用户可以输入新的信息,对应代码如下: procedure tfrm_house.btn_addclick(sender: tobject);begin inherited; /继承父窗体 self.edt_houseno.tag:=0; self.edt_houseno.text :=; self.edt_floornum.text :=; self.dtp_begin.date:=strtodate(1980-1-1); self.edt_roomnum.text :=; self.memo_remark.text :=; self.edt_houseno.setfocus;end;修改按钮当用户单击“修改”按钮时,“公寓楼号”不能为空,否则将弹出提示框提示“没有可以修改的数据!”,对应的代码如下:procedure tfrm_house.btn_editclick(sender: tobject);begin if self.btn_edit.caption=修改 then begin if edt_houseno.text = then begin messagebox(handle, 没有可以修改的数据!, 信息, mb_iconexclamation); exit; end else begin self.edt_houseno.setfocus;/公寓楼号文本框获得焦点 end; end; inherited;end;删除按钮当用户点击“删除”按钮并且显示为“删除”时,程序将删除选中的公寓信息;当显示为“保存”时,程序将修改的公寓信息保存到数据库中;当显示为“确定”时,程序将新添加的信息保存到数据库中。在“删除”按钮显示为“保存”和“确定”,即要把数据写入到数据库时,为了保证数据的完整性,程序会检测公寓楼号,楼层数,房间数是否填写,如果用户遗忘了上面任何一一项,程序都会自动弹出信息框,表示填写信息不正确:if(edt_houseno.text=) or (edt_floornum.text=) or (edt_roomnum.text=) then begin messagebox(handle, 内容填写不正确!, 信息, mb_iconexclamation); exit; end;在把数据写入到数据库的时候,程序还会检查公寓楼号是否重复,如果重复,则操作不成功,会弹出信息框提醒用户:house:=thouse.create; house:=gethousebyhouseno(trim(edt_houseno.text); if(housenil) then begin if(house.idedt_houseno.tag) then begin messagebox(handle, 公寓号已经存在,请重新设置!, 信息, mb_iconexclamation); exit; end; end;检查是否重复sql代码如下:adoquery:=tadoquery.create(nil); sql:=select id,公寓号,楼层数,房间数,启用时间,备注 from 公寓信息 where 公寓号=+ +houseno+; adoquery:=dahelper.exesqlquery(sql); if(adoquery.recordcount1) then begin result:=nil; end在窗体被创建的时候,程序会自动调用函数填充数据,函数名为filldata,函数会调用sql语句来显示数据。5.2.4寝室管理模块设计寝室管理模块主要功能l 添加寝室记录。l 编辑寝室信息。l 删除寝室记录。l 查找寝室信息。l 统计各寝室空床数。寝室管理窗体设计寝室管理窗体命名为frm_room(如图5-5)图5-5寝室管理窗体本窗体也继承了父窗体frm_info。寝室管理窗体可以根据公寓号和寝室号来查询相关寝室的信息。在“删除”按钮显示为“确定”或“保存”时,程序会检测公寓号,寝室号,可住人数和住宿费用四个项目是否填写完整,如果有其中一项用户忘记填写,程序会弹出信息对话框,提醒用户,对应代码如下:if(edt_roomno.text=) or (edt_capability.text=) or (edt_fee.text=) or (self.cbx_houseno.text=) then begin messagebox(handle, 内容填写不正确!, 信息, mb_iconexclamation); exit; end;在把寝室号填入到数据库中去,程序会通过寝室信息表查找相同公寓内的寝室号是否存在相同,如果相同则会提醒用户,因为不允许在同一幢公寓里有2个寝室的寝室号是相同的。本窗体有公寓号下拉框combobox,此下拉框中的数据是用公寓信息表中的数据进行填充的,代码如下:procedure tfrm_room.fillhouseid;var adoquery:tadoquery;begin adoquery:=tadoquery.create(nil); /创建空数据集 adoquery:=control_houseu.gethousearray; /得到公寓信息数据集 /判断数据集是否为空,若空则退出 if adoquery.recordcount1 then begin adoquery:=nil; exit; end; self.cbx_houseno.items.clear; /将数据集中的内容循环写入combobox

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论