公司员工工资管理系统_第1页
公司员工工资管理系统_第2页
公司员工工资管理系统_第3页
公司员工工资管理系统_第4页
公司员工工资管理系统_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

1、中文摘要摘 要:随着信息技术的发展,人们对于运用计算机来辅助,协调和管理自身工作的需要正在逐步提高。而面向对象的程序设计在当今应用程序的开发过程中具有重要的地位,它的最大的优点就是能够提高程序开发的质量和开发速度。DELPHI公司的 DELPHI6.0开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。我所编制的员工工资管理系统就是用Delphi6.0为开发工具,后台数据库是Delphi6.0自带的数据库Database Desktop

2、7.0 。员工工资管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。关键词:管理信息系统、数据库设计、需求分析、窗体ABSTRACTAlong with the demand that development of technique information, people lend support to, moderate with manage the oneself to work for the application calcula

3、tor gradually increase. But face to development process that position, its biggest advantage that the object's procedure design is at the quantity that nowadays applies the procedure to inside have the importance to can increase the procedure to develop is with the development speed.DELPHI prese

4、nted by BORLAND because of its objective tools in Win32. DELPHI offered a series of ActiveX operating a database. It can give you a short cut to build up a prototype of system application. The prototype could be modified and developed till users are satisfied with it.My the employees pay for databas

5、e SQL for employees pay management for establishment system is using the Delphi6.0 for developing the tool, backstage database is Delphi6.0 from Database Desktop7.0. The system of managing employees pay is a typical application of managing information system, which mainly includes building up databa

6、se of back-end and developing the application interface of front-end. The former required consistency and integrality and security of data. The later should make the application powerful and easily used. Keywords:management information system、database design、need analysis、form目 录摘要、关键词ABSTRACT、KEYWO

7、RDS目录第1章 引言 41.1 系统开发背景 41.2 系统开发目标 41.3 系统的开发工具 5第2章 系统概述 52.1 系统实现的功能 52.2 系统的软硬件配置 62.3 系统的功能概述 7第3章 系统功能模块实现 93.1 系统数据库的设计 93.2 功能模块的设计与实现 11 系统登录模块的设计与实现 11 “工资录入”模块的设计与实现 14 “工资查询”模块的设计与实现 16 Quickreport实现“工资打印”模块的功能 203.3 用户界面的设计与实现 25 系统主界面的设计 25 “员工情况查询”界面的设计 28第4章 系统的使用 314.1 系统的使用方法 314.2

8、 系统的使用效果 32第5章 系统的实现及其技术要点 32设计体会与小结33参考文献34 第1章 引 言1.1 系统开发背景在信息技术高速发展的今天,传统的数据统计方式在处理庞大繁杂的信息量时显得力不从心,于是,人们对于运用计算机来辅助和管理工作的需求正在逐步提高。随着各个公司业务的逐步扩展,公司的员工人数也在迅速增加,由于管理人员水平有限,导致某些员工纪录管理并不完善,特别是繁杂的员工工资管理纪录,不易查询、修改,极易导致错误,而落后的员工管理方法随着社会的日益竞争,必将被淘汰。由计算机来管理庞大而繁杂的公司员工纪录是非常合适的,不仅查询和修改方便,并且效率高,速度快,完全能够满足现代化公司

9、管理的需要,同时也更利于实现全面办公自动化。因此开发一套公司员工工资管理系统软件势在必行。工资管理系统是公司管理系统中的一个重要组成部分,它为公司合理的员工调配与编制,以及有关问题的决策能够提供各种必要的基础数据,是公司管理现代化的一个重要方面。利用微机对庞杂而繁锁的员工工资系统实现自动化管理,是计算机公司信息管理系统的重要内容。我在闵建宏老师指导下开发了公司员工工资管理系统。1.2 系统开发目标公司员工工资管理系统软件旨在为商业人士及在社会团体、机构中负责管理关系的人士提供一个功能全面、使用方便的工资管理数据库系统,以替代传统的手工管理工资纪录,同时利用先进信息技术为用户提供一些更为方便实用

10、的功能。 员工工资管理系统的主要任务是用计算机对员工档案资料(包括员工工资纪录)进行查询、修改、增加、删除以及存储;对符合条件的记录进行查询、统计、打印、输出等;用计算机快速、准确地完成各种纪录资料的统计和汇总工作;迅速地打印出各种报表资料。它可使管理人员节省大量时间,而且使用起来很方便真正实现了管理的自动化。 员工工资一个比较完善的公司员工工资管理系统应该包括的内容大致有如下几个方面:1、 能够贮存大量原始员工数据和有用信息的数据库。2、 能够高速自动处理大量与员工有关的各项数据的电子计算机系统。3、 为各级管理人员提供员工基本情况、工资等查询和打印,显示员工信息的终端设备。4、 能够迅速地

11、把员工信息传输给计算机,并把各计算中心站连结起来的计算机网络系统。5、 一批懂软、硬件的专业技术人员和强有力的领导机构。1.3 系统开发工具这一系统我是采用Borland公司的Delphi6.0编程语言编写的。Delphi6.0以其易用性、灵活性受到广大用户的欢迎。在数据库方面尤其受到人们的重视。由于时间仓促,本人又是初次独立进行较大系统的开发,有很多不足之处,敬请各位老师和同学在测试、使用过程中提出宝贵意见和建议,谢谢!第2章 系统概述2.1 系统实现的功能公司员工工资管理系统开发的设计思想实际上就是“自顶向下”的逻辑功能设计思想。所谓“自顶向下”的思想,是把一个系统的总体任务划分成若干逻辑

12、功能部分,每一个逻辑部分又可以划分成更细的逻辑性功能模块,一直到可以按照特定的目标逐层按逻辑功能划分下去。总的系统层次可以划分为四个层次:第一层次是总体任务;第二层次是划分若干阶段;第三层次是每个阶段所划分的步骤;第四层次是将每一步骤划分成一组特定的具体活动。这样从最高层到逐层分解,越往下越具体,这就使不论是主管部门的领导,还是具体操作人员,都感到心中有数,使系统有秩序,有条理,易于管理。公司员工工资管理系统主要实现以下功能:外部功能:工资管理系统具有输入、输出、查询、打印功能。内部功能:集命令、编程、编辑于一体,完成定位显示。系统具体可分为:员工信息管理,工资管理,公司部门管理以及系统维护等

13、四个模块。其中员工信息管理又包括员工信息录入、查询、打印等功能;工资管理包括工资信息的录入,查询,汇总,打印等功能;部门管理包括部门情况的查询和打印功能等;在系统维护模块中则包含了系统登录账号和密码的修改,系统信息等。整个系统由以下结构构成: 工资管理系统功能分析图 图12.2 系统的软硬件配置 系统运行的环境:1、安装及运行Delphi6.02、安装Delphi 6.0之前,必须确认计算机满足安装要求为运行Delphi 6.0计算机系统要求。硬件要求: 80486或更高的微处理器。 Microsoft Windows所支持的VGA或分辨率更高的显示器。 对于Windows95 需24M的内存

14、,对于Windows NT 需64MB内存。软件要求: Microsoft Window NT、Windows95、Windows98、Windows2000或其更高版本。因该系统应满足大部分使用者的使用环境,所以要求配置并不高,但因其并未打包成为一个完整的带安装程序的系统,所以测试前应安装Delphi6.0运行库。2.3 系统的功能概述1. 数据库的建立工资管理系统是在基于“工资管理”数据库基础上建立起来的。“工资管理”数据库由三个表组成:员工管理情况表、工资管理情况表、部门管理情况表。员工管理情况表包括个人工资号、个人姓名、部门编号、部门名称、性别、出生日期、民族、政治面貌、身份证号、电话

15、、家庭住址、学历、职称、职务、参加工作时间、在职状态、银行帐号。工资管理情况表包括个人工资号、个人姓名、部门编号、部门名称、工资年份、工资月份、标准工资、实发标准工资、加班费、夜班费、补发工资、扣款、公积金、保险金、调节税、其它、应发合计、应扣合计、实发工资。部门管理情况表包括部门编号、部门名称、部门负责人、资金负责人、部门电话、部门E-MAIL地址。2. 登录模块为了数据的保密,输入用户的用户名和密码,方可进入系统。3. 录入模块由于公司员工基本情况(如:家庭住址、联系电话、工资情况等)经常变动,各个年份,月份的工资经常变动,员工的一些基本情况经常变动,或由于人为操作造成一些数据的错误,所以

16、要求系统有工资情况的录入功能,这也是基本功能之一。录入模块就用来完成这项基本功能,它包含员工基本情况的录入,员工工资的录入和汇总,部门基本情况的录入。在录入的过程中,还可以实现对数据的添加、修改、存储、删除等功能。4. 查询模块查询模块的主要功能是查询各种信息。查询又分为:员工查询(可查询员工的基本信息);员工工资查询(查询员工所得、所扣工资情况);部门查询。在工资查询模块中,又可以实现员工工资的自由汇总,即根据基本工资、所得、所扣等诸多项目可得到员工的应发合计、应扣合计、实发工资等汇总项目。按个人工资号、个人姓名、部门编号、部门名称、性别(任一项)可查询员工情况;按个人工资号、个人姓名、工资

17、年份、工资月份、部门编号、部门名称(任一项)可查询员工的工资情况;按部门编号、部门名称可查询部门情况。5. 打印模块统计打印模块实现的功能是统计各种所需信息。统计打印模块又分为员工情况统计、员工工资统计和部门情况统计。数据汇总打印后,方可被用户使用。6. 系统维护模块系统维护功能模块包括密码修改、版本信息和帮助信息。密码修改可实现用户对登录系统的用户名和密码的修改,以实现数据保密。版本信息包括设计环境、设计版本、设计时间等。帮助信息包括系统的功能、使用方法等。由 由于时间的紧促,本系统还存在着一些不足之处例如:本软件只适合单机操作,没有实现把各计算中心站连接起来的计算机网络系统;在线帮助系统还

18、没有建立。在以后的工作及学习中还要不断的改进和完善本系统,使系统的实用性、灵活性、可操作性更进一步的提高,实现真正的自动化员工信息管理体系。第3章 系统功能模块的实现3.1 系统数据库的建立 员工工资管理系统与数据库有较多联系,Delphi6.0提供了强大的数据库管理功能,能够方便、灵活地完成数据库应用中涉及的诸如建立数据库查询和更新等各种基本操作。要处理数据库的数据,首先必须先建立数据库,数据库可以创建多种格式,在这里,我们选择Data base格式数据库。打开Database Desktop7.0,选择建立新Data Base数据库,按“file”按钮选择“new table”,选中tab

19、le类型为paradox,点击“ok”,出现保存位置下拉列表框,选择合适路径D:工资管理系统,之后便可创建表。 员工工资管理系统的数据库是在Database Desktop7.0上建立起来的。它由三个表组成:员工管理情况表、工资管理情况表、部门管理情况表。在数据库中名为:员工管理.DB,工资管理.DB,部门管理.DB三张表的结构如下:员工管理情况表编号Field NameTypeSizeKey1个人工资号A20*2个人姓名A203部门编号A204部门名称A205性别A26出生日期A107民族A108政治面貌A109身份证号A2010电话A1011家庭住址A2012学历A1013职称A1614职

20、务A1615参加工作时间A1016在职状态A1017银行帐号A20 部门管理情况表编号Field NameTypeSizeKey1部门编号A10*2部门名称A203部门负责人A204资金负责人A205部门电话A106部门E-MAILA20工资管理情况表编号Field NameTypeSizeKey1个人工资号A16*2个人姓名A103部门编号A184部门名称A205工资年份A206工资月份A67BZGZ$8SFBZGZ$9JBF$10YBF$11BFGZ$12KOUKUAN$13GJJ$14BXJ$15TJS$16QT$17YFHJ$18YKHJ$19SFHJ$3.2 功能模块的设计与实现 系

21、统登录模块的设计与实现登录和主界面的设计都是引用Delphi6.0这个功能非常强大的面向对象程序设计语言系统完成的。考虑到防止陌生用户随意登录本系统,造成公司数据的泄漏,引起不必要的麻烦,所以为系统增加了用户权限登录功能,用户只有输入了正确的用户名和密码,经过系统验证,才能登录本系统。当用户输入了用户名和密码,系统即调用原先存储的密码验证数据库,在数据库中查找匹配的字段名,如果找到匹配的字符串,则系统登录成功;如果未找到相匹配的字段名,则不能登录,提示再次输入用户名和密码,连续三次输入错误则退出登录对话框。此模块的流程图如下: 相应的验证密码数据表如下: 编号Field NameTypeSiz

22、eKey1UsernameA8*2PasswordA8功能的设计步骤如下: 用Database Desktop7.0建立如上图的数据表,与登录程序建立联系。输入密码,按“确定”按钮,如密码正确可进入本系统主界面,如密码错误,出现提示信息,重新输入密码;按“取消”按钮则退出本系统。登录界面如下: “确定”按钮代码如下:procedure TForm1.BitBtn1Click(Sender: TObject);var results:variant;begin count:=count+1;计数加一 results:=table1.lookup('user',edit1.Text

23、,'password');检索数据库里对应用户名的密码 if results=edit2.Text then begin form2.show; showmessage('密码确认,欢迎使用公司工资管理系统!')如果相同则进入 end else begin showmessage('错误的用户名或密码!');密码不确定 if (count=3)then close;三次输错,退出。 end;end; “取消”按钮代码如下:procedure TForm1.BitBtn2Click(Sender: TObject);begin close;关闭退出

24、end;当用户进入系统后,如果想修改登录的用户名和密码,则可以打开“系统维护”中的“登录权限修改”选项,以及时修改用户名和密码。此功能模块也是与验证密码数据表相联系,本质上就是对此表的添加、修改、删除等操作。界面如下:通过图中的数据库导航条可以实现账号、密码的添加、修改和删除。按图中的“”,就是增加一个新的用户名和密码,按“确定”就可以保存到数据库,下次就可登录;按“”就可实现对原有用户名和密码删除,下次登录密码就不可用;此外还可以实现对原用户名密码的修改。 “工资录入”模块的设计与实现Delphi6.0提供了好几种可供数据存取之用的方法,它可以通过在form中添加table控件、dataso

25、urce控件等来实现对数据库的存取。在本系统中就可利用这些关联数据库的控件制作“员工工资录入基本情况”,此方法的优点是运行速度较快,能够访问数据库及时更新的数据。我们通过密码验证后即进入本系统主界面,点击菜单项“工资管理”、 “工资管理录入情况” 或快捷按钮随即会出现下图所示窗体即“工资管理录入情况”管理窗体。功能介绍及设计步骤:此界面用于管理员工工资基本情况,包括显示、增加、删除、修改原数据库中的员工工资基本情况表中的记录,输入新的工资记录添加到数据库对应的表中,输出修改、删除后的新的工资记录。实现员工工资基本情况的管理工作。第一步:创建“工资录入”管理窗体。首先添加窗体。打开工程,在原工程

26、中添加窗体并改变窗体标题分别为“工资录入”。其次保存此窗体到工程所在文件夹目录。此为D:工资管理系统。然后,添加控件。添加DBedit控件、Lable控件各19个,bevel控件,table控件,datasource控件,Dbnavigator控件,更改lable控件的caption,调整各个控件到合适的位置,至此所有控件创建布置完成。第二步:在窗体中实现各控件与数据表的连接。将数据表控件table与工资管理.DB连接,将数据源控件datasource与table连接,将数据库导航器控件Dbnavigator与datasource连接。第三步:设置数据纪录编辑控件Dbedit。(1) 点击db

27、edit1,使其处于选中状态。(2) 在对象监视器中选择数据源控件datasource1和编辑的数据库字段名(datafield)。(3) 其余18个相同设置。完成后数据库处于激活状态,就可进行代码设计第四步:编写form的代码。在工资录入窗体中,许多字段值可由其它字段值计算出来,不需要人工统计,如应发合计、应扣合计、实发工资等都可由其它字段值计算出来。双击table1控件,在出现的字段编辑器中会出现所有的工资管理.DB中的字段名。(1) 用鼠标选中“应发合计”、“应扣合计”、“实发工资”,使其为选中状态。(2) 在对象监视器中选择为计算字段类型。(3) 为其编写事件代码。点击table1控件

28、,在对象监视器的events页选择计算事件项,在出现的代码编辑句柄中,写入代码。procedure TForm3.Table1CalcFields(DataSet: TDataSet);begintable1YFHJ.VALUE:=table1SFBZGZ.value+table1JBF.value+table1YBF.value+table1BFGZ.value;table1YKHJ.VALUE:=table1KOUKUAN.value+table1GJJ.value+table1BXJ.value+table1TJS.value+table1QT.Value;table1SFGZ.VALU

29、E:=table1YFHJ.VALUE-table1YKHJ.VALUE;end;这样,当输入数据时,窗体就有了自动统计功能。 “工资查询”模块的设计与实现一个软件设计的优劣好坏程度在很大程度上取决于查询功能模块设计的好坏程度。查询模块的主要功能是查询各种信息。本系统中查询又分为:员工信息查询、工资情况查询、部门情况查询。按个人工资号、个人姓名、部门编号、部门名称、性别(任一项)可查询员工情况;按个人工资号、个人姓名、工资年份、工资月份、部门编号、部门名称(任一项)可查询员工的工资情况;按部门编号、部门名称可查询部门情况。现在,我详细介绍“工资查询”模块的设计与实现。功能介绍:首先我们登陆到主

30、界面,点击“工资管理”菜单项,出现子菜单“工资查询”,本软件提供六个查询项,按个人工资号、个人姓名、工资年份、工资月份、部门编号、部门名称(任一项)可查询员工的工资情况;通过输入“个人工资号”、“个人姓名”、“工资年份”、“工资月份”、“部门编号”、“部门名称”(任一项)在数据库中搜索有无此记录,如有则弹出信息框“纪录已找到”并输出查询结果,如果没有则出现信息提示对话框提示没有此员工记录,请重新查询。功能流程图如下: 进入本系统主界面,点击菜单项“工资管理”、 “工资管理查询情况” 或快捷按钮随即会出现下图所示窗体即“工资管理查询情况”管理窗体。工资查询窗体界面如下:功能及设计步骤:此界面用于

31、查询员工工资基本情况,包括显示、增加、删除、修改原数据库中的员工工资基本情况表中的记录,输入新的工资记录添加到数据库对应的表中,输出修改、删除后的新的工资记录。按一定的条件查询员工工资信息,实现员工工资基本情况的管理工作。在“请选择查询方式”中,选择按哪种方式进行查询,并在“请输入查询内容”中输入要查询的内容,然后按“执行查询”按钮即可查询。我们可以从查询方法选项中任选其中一个进行符合条件的查询,例如是选择“按个人工资号查询”列表项,输入个人工资号,按“执行查询”按钮如果有此记录就可查询该员工全部工资项目,如果没有此记录,就出现信息提示对话框,提示没有此记录,按“确定”按钮重新输入个人工资号;

32、输入其它查询条件可得到同样全部信息。如果不想查询任何信息,按“取消”按钮即可关闭此界面。第一步:创建“工资查询”管理窗体。首先添加窗体。打开工程,在原工程中添加窗体并改变窗体标题分别为“工资查询”。其次保存此窗体到工程所在文件夹目录。此为D:工资管理系统。然后添加控件。放入lable控件,用于查询窗体的文字说明。table控件,用于连接数据表工资管理.DB。datasource控件,连接数据源。Dbgrid控件,实现查询结果的显示。Dbnavitagor控件,用于增加,修改,删除数据。bevel控件,充当分隔线。ComboBox控件,用于承载显示方式。Edit控件,输入查询内容。Speedbu

33、tton控件,用于执行查询操作。memo控件,用于承载全部查询条件语句。并对各个控件进行属性设置,放在适当位置。如上图。第二步:在窗体中实现各控件与数据表的连接。将数据表控件table与工资管理.DB连接,将数据源控件datasource与table连接,将数据库导航器控件Dbnavigator与datasource连接。第三步:为主要控件添加代码。选中“执行查询”按钮,在它的对象监视器中选event页,双击onclick事件,在弹出的代码框中编写代码。代码如下:procedure TForm4.SpeedButton1Click(Sender: TObject);varbookmark1:t

34、bookmark;begintable1.refresh;with table1 dotry disablecontrols; filtered:=false; if ComboBox1.text='按工资年份查询' then memo1.Text:='按工资年份查询'+edit1.Text+'''' if ComboBox1.text='按工资月份查询' then memo1.Text:='按工资月份查询'+edit1.Text+'''' if ComboBox1.

35、text='按个人工资号查询' then memo1.Text:='按个人工资号查询'+edit1.Text+'''' if ComboBox1.text='按个人姓名查询' then memo1.Text:='按个人姓名查询'+edit1.Text+'''' if ComboBox1.text='按部门编号查询' then memo1.Text:='按部门编号查询'+edit1.Text+'''' if

36、 ComboBox1.text='按部门名称查询' then memo1.Text:='按部门名称查询'+edit1.Text+'''' filter:=memo1.text; filtered:=true;finally enablecontrols;if table1.recordcount=0 then beginmessagebeep(1);showmessage('没有符合条件的纪录,请确认条件或放弃查询!');if messageDlg('只有结束查询才能做其它操作,是否继续查询?',m

37、tinformation,mbYes,mbNo,0)=mrno then begin filtered:=false; table1.close; table1.open;end;end else beginshowmessage('纪录已经找到!');bookmark1:=table1.getbookmark; filtered:=false; table1.close; table1.open;end;end;end;按“取消”按钮则不执行查询动作关闭本界面,返回到主界面。代码如下:procedure Tform4.BitBtn2Click(Sender: TObject)

38、;begin close;end; Quickreport实现“工资打印”模块的功能填写各种报表、统计各种信息是日常工作学习中最为常用和繁杂的工作。员工工资管理系统软件如果可以较完善地实现工资条报表等的统计和打印工作,就可以给使用者带来很多的方便。员工工资管理系统工资单统计打印功能:能够打印出每一个人的工资单,能够打印任意范围的工资报表。无论是打印个人工资单还是任意报表都是与查询有关的,因为打印个人工资单时,肯定是先查询该员工的工资然后进行打印。还有一种打印方式是将全部的个人工资单进行打印,然后采用撕条的方式发放给个人,通常使用第二种。对指定范围或指定内容的工资信息的打印,也与查询有关,首先要

39、将查询的内容显示出来再进行打印,也就是一种工资报表的形式。在本系统中,可进行三方面内容的打印:员工信息的打印、工资信息的打印、部门信息的打印。工资信息打印中又分为员工工资单的打印和员工工资条的打印。在此,我详细介绍工资条打印功能的设计与实现。在Delphi内,含有一个功能强大的可视化数据库报表、查询工具QuickReport,它提供用数据库文件、表格创建报表的流水线方法,能够满足各种要求,可以利用它方便快捷制作各种报表。功能介绍:首先我们登陆到主界面,点击“工资管理”菜单项,出现子菜单“打印工资条”,在此,本软件提供六个打印项,按个人工资号、个人姓名、工资年份、工资月份、部门编号、部门名称(任

40、一项)可打印员工的工资情况;通过输入“个人工资号”、“个人姓名”、“工资年份”、“工资月份”、“部门编号”、“部门名称”(任一项)在数据库中搜索有无此记录,如有则在视窗中输出打印预览结果,如果没有则出现信息提示对话框提示没有此员工记录,请重新输入打印条件。其实现窗体如下:设计步骤:第一步:创建“个人工资单打印”窗体。首先添加窗体。打开工程,在原工程中添加窗体并改变窗体标题分别为“打印工资报表”。其次保存此窗体到工程所在文件夹目录。此为D:工资管理系统。然后添加控件。添加以下控件:标签控件lable,标识文字。按钮控件speedbutton,用于打印工资条。combobox控件,承载打印方式列表

41、。edit控件,输入打印范围。数据表控件table,连接数据表文件。然后放入一个报表控件Quickrep,在报表控件上添加:Qrband控件,定义报表显示格式。Qrlable控件若干个,当做报表标签。QRExpr控件若干个,和Qrlable对应。第二步:设置好各个控件的属性。关键是Qrexpr控件,选中QRExpr控件,在对象监视器中选择Express项,点击Database field按钮,点击“OK”,设置完毕。随后用鼠标拖动QuickRep控件内的“个人工资号”、“个人姓名”等字段的lable到QuickRepo1报表控件的Title内;再把“个人工资号”、“个人姓名”等字段的QRExp

42、r拖到DataReporter1报表对象的Detail内;在报表标头QuickReportHeader内单击空白处,修改Label属性值为“个人工资单”。最后的报表格式如图:第三步:为主要控件添加代码。procedure TForm6.SpeedButton1Click(Sender: TObject);varbookmark1:tbookmark;begintable1.refresh;with table1 dotry disablecontrols; filtered:=false; if ComboBox1.text='按工资年份打印' then memo1.Text:

43、='工资年份='+''''+edit1.Text+'''' if ComboBox1.text='按工资月份打印' then memo1.Text:='工资月份='+''''+edit1.Text+'''' if ComboBox1.text='按个人工资号打印' then memo1.Text:='个人工资号='+''''+edit1.Text+'

44、''' if ComboBox1.text='按个人姓名打印' then memo1.Text:='个人姓名='+''''+edit1.Text+'''' if ComboBox1.text='按部门编号打印' then memo1.Text:='部门编号='+''''+edit1.Text+'''' if ComboBox1.text='按部门名称打印' then

45、 memo1.Text:='部门名称='+''''+edit1.Text+'''' filter:=memo1.text; filtered:=true;finally enablecontrols;if table1.recordcount=0 then beginmessagebeep(1);showmessage('没有符合条件的纪录,请确定条件或重新打印!');if messageDlg('只有结束打印才能做其它操作,是否继续打印?',mtinformation,mbYes,

46、mbNo,0)=mrno then begin filtered:=false; table1.close; table1.open;end;end else beginQuickRep1.Preview;bookmark1:=table1.getbookmark; filtered:=false; table1.close; table1.open;end;end;end;procedure TForm6.Table1CalcFields(DataSet: TDataSet);数据打印统计begintable1YFHJ.VALUE:=table1SFBZGZ.value+table1JBF.

47、value+table1YBF.value+table1BFGZ.value;table1YKHJ.VALUE:=table1KOUKUAN.value+table1GJJ.value+table1BXJ.value+table1TJS.value+table1QT.Value;table1SFGZ.VALUE:=table1YFHJ.VALUE-table1YKHJ.VALUE;end;我们可以从打印方法选项中任选其中一个进行符合条件的打印,例如是选择“按个人工资号打印”列表项,输入个人工资号,按“打印个人工资条”按钮如果有此记录就可打印该员工全部工资项目,如果没有此记录,就出现信息提示对话

48、框,提示没有此记录,按“确定”按钮重新输入个人工资号;输入其它查询条件可得到同样全部信息。如果不想打印任何信息,按“取消”按钮即可关闭此界面。打印预览界面: 3.3 用户界面的设计与实现 软件系统与用户交流主要是通过用户在使用中所见到的界面,一个友好的界面不仅有利于用户更方便的操作软件系统而且也会让软件更好发挥它的功能。所以系统界面设计的好坏在一定程度上也决定了一个软件能否受到用户的好评。 系统主界面的设计当用户第一次使用系统时,首先见到的就是系统主界面,主界面中包含了几乎所有的激活其它功能模块的事件,有着繁多的按钮和链接,同时它又要兼顾使用户看起来觉得简单易用,所以主界面的布局就要合理设计。

49、登录成功便进入主界面: 在主界面的设计中,我应用了菜单显示方法,并在菜单下设置了七个快捷按钮,都是用户会经常使用的操作。菜单是应用系统的组成部分之一,它一般由菜单栏和下拉菜单组成。建立菜单的过程是选择控件工具栏中的“标准控件栏”选项,把其中的Mainmenu控件添加到窗体,在“菜单编辑窗口”输入菜单项。此时画面应出现图5的“菜单编辑窗口”:在完成菜单的编辑工作之后,单击“×”按钮,返回到主窗体,显示设置的菜单项。菜单“员工管理”和“工资管理”设置属性如下:object N1: TMenuItem Caption = '员工管理' object N2: TMenuIte

50、m Caption = '员工情况录入' OnClick = N2Click end object N3: TMenuItem Caption = '员工情况查询' OnClick = N3Click end object N4: TMenuItem Caption = '员工情况报表打印' OnClick = N4Click end end object N5: TMenuItem Caption = '工资管理' object N6: TMenuItem Caption = '工资情况录入' OnClick =

51、 N6Click end object N7: TMenuItem Caption = '工资情况查询' OnClick = N7Click end object N8: TMenuItem Caption = '个人工资单打印' OnClick = N8Click end object N9: TMenuItem Caption = '个人工资条打印' OnClick = N9Click end end为菜单项添加代码,每当单击菜单项时,Delphi就调用OnClick事件,执行这一过程中的代码。在菜单栏下设计了七个快捷按钮,它们实现菜单栏的基

52、本功能。“工资查询”按钮属性为:object SpeedButton4: TSpeedButton Left = 288 Top = 1 Width = 97 Height = 56 Caption = '工资查询' Font.Charset = GB2312_CHARSET Font.Color = clWindowText Font.Height = -14 Font.Name = '宋体' Font.Style = Layout = blGlyphTop ParentFont = False OnClick = SpeedButton4Click End属

53、性中设置了按钮的大小、字体、颜色、所承载的事件等。(主界面具体代码见附录) “员工情况查询”界面的设计登陆到主界面,点击“员工管理”菜单项,出现子菜单“员工情况查询”,再次点击则进入“员工情况查询”窗体界面,如下图:为了能让用户选择多种查询方式,在此窗体中,我使用了ComboBox控件用于选择查询方式,Edit控件用于输入查询内容。此外,又在窗体中加入:放入lable控件,用于查询窗体的文字说明。table控件,用于连接数据表工资管理.DB。datasource控件,连接数据源。Dbgrid控件,实现查询结果的显示。Dbnavitagor控件,用于增加,修改,删除数据。bevel控件,充当分隔线。Speedbutton控件,用于执行查询操作。memo控件,用于承载全部查询条件语句。并对各个控件进行属性设置,放在适当位置。其中,combobox控件的属性设置:object ComboBox1: TComboBox Left = 128 Top = 88 Width = 161 Height = 21 Font.Charset = GB2312_CHARSET Font.Color = clWindowT

温馨提示

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

评论

0/150

提交评论