毕业设计(论文)Delphi考勤信息管理系统.doc

上传人:文库蛋蛋多 文档编号:3770440 上传时间:2023-03-21 格式:DOC 页数:24 大小:161KB
返回 下载 相关 举报
毕业设计(论文)Delphi考勤信息管理系统.doc_第1页
第1页 / 共24页
毕业设计(论文)Delphi考勤信息管理系统.doc_第2页
第2页 / 共24页
毕业设计(论文)Delphi考勤信息管理系统.doc_第3页
第3页 / 共24页
毕业设计(论文)Delphi考勤信息管理系统.doc_第4页
第4页 / 共24页
毕业设计(论文)Delphi考勤信息管理系统.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《毕业设计(论文)Delphi考勤信息管理系统.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)Delphi考勤信息管理系统.doc(24页珍藏版)》请在三一办公上搜索。

1、考勤信息管理系统摘要:近些年来,随着社会的发展和科技的进步,人们的工作与生活也越来越离不开计算机,对于各大企业来说就更是如此了。在各个企业中,企业员工的考勤工作不仅工作量大,而且时效性强。过去,企业多采用签到和报表的形式进行管理,效率和透明度较差,并且也容易出错;随着数据库技术的发展和企业信息化建设的进行,使用计算机管理企业考勤工作也成为大势所趋,它为企业的考勤工作节约了大量的人力和物力,也大大减轻了考勤工作人员的工作量。本文以“考勤信息管理系统”的设计和开发为例,系统地阐述了考勤系统的设计开发的全过程。包括系统整体设计,逻辑框架与数据流程,各个功能模块划分,系统功能模块的设计与具体实现等部分

2、。关键词:考勤,数据库,Delphi编程 Abstract For years,along with social development and process of science and technology,mens work and life cant leave the computer.Many corporations are the same as it.In the corporations, employeesjob of check on work attendance not only workload is very large,but also time is v

3、ery strong. In the past many corporations carry through managing by signing in and reporting forms, efficiency and diaphaneity are not good,and easy make a mistake,too.Along with development of database technology and progress of corporation informations building,using computer to manage check on wo

4、rk attendance of corporations which it is necessary.It saves a mass of manpower and material resources and greatly lightens workload of employees. The text that it used design and exploiture as case which expounded the whole process of design and exploiture of the check on work attendance system.It

5、included the whole design of system , logic frame , data flow , partition of every function module ,design of system function modules and concrete realization and so on . Key words: check on work attendance,database,Delphi programme目 录摘要 IAbstract II 第1章 绪论 11.1课题背景及目的 11.2DELPHI7.0 简介 2第2章 系统需求分析 4

6、2.1需求分析的目的 42.2系统需求分析 4第3章 系统整体设计 53.1系统分析与设计 53.1.1 数据库设计 53.1.2 系统功能模块设计 73.2 主界面设计 73.2.1 窗体 73.2.2 Panel和 PageControl组件 7第4章 功能模块划分 104.1系统登录模块设计 104.1.1有关文件操作 104.1.2INI 文件解析 114.1.3系统登录窗口 124.2“员工信息”页功能简介 124.3“出勤信息”页功能简介 134.4“员工工资”页功能简介 144.5“相关查询”页功能简介 154.6“密码修改”页功能简介 164.7“帮助说明”页功能简介 174.

7、8“退出系统”页功能简介 17 第5章 系统运行事例 18 结论 23 致谢 24 参考文献 25 附录 1 26 附录 2 第一章绪 论1.1 课题背景及目的今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:首先,计算机可以代替人工进行许多繁杂的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大的提高人们的工作效率;第四,计算机可以使敏感文档更加安全,等等。计算机已经成为我们学习和工作的得力助手,我们的生活也越来越离不开它。随着现代科技的进步,用计算机来进行考勤的管理也成为现代化企业运作必不可少的一部分。在过去我

8、们的考勤工作都是人工完成的,不仅浪费了很多的人力跟物力,而且无法保证其准确性和透明度;给企业的管理带来了许多的不便。现在利用计算机来管理我们的考勤工作,大大降低了工作人员的工作量,提高了工作效率,使原本复杂和枯燥无味的工作变得简单而轻松了。 计算机技术特别是数据库技术的发展为企业建立管理信息系统,甚至对改变管理思想起着不可估量的作用。实践证明信息技术已在企业的管理层面扮演越来越重要的角色。考勤信息管理系统中主要包括了员工的基本信息(姓名、性别、所属部门等),查询员工的基本信息,可根据员工的实际工资情况或实际的出勤情况查看员工的基本信息等;另外还有密码修改和帮助说明的功能。通过考勤系统我们能很容

9、易地对公司员工的信息有一个基本的了解,可以很方便地知道员工的出勤情况,通过对员工出勤信息的了解,就能计算出员工的实际工资。一切的统计和计算都计算机代为管理了,考勤信息管理系统对企业的合理化管理起到了很大的作用,它为企业信息化的建设打响了头炮,企业的信息化建设已成为现代各个企业发展的需要。1.2 DELPHI 7.0介绍DELPHI是由美国INPRISE公司开发,运行于WINDWOS平台上的交互式、可视化集成开发环境。和其他的可视化编程环境(如,VISUAL C,VISUAL BASIC)一样,DELPHI 集程序的代码编辑、编译、连接、调试为一体,给编程人员提供了一个完整方便的开发界面和许多有

10、效的辅助开发工具。DELPHI还为编程人员自动生成框架代码。从而省去了重复编写框架代码的麻烦,提高了效率。DELPHI是在Microsoft Windows操作系统下其于object Pascal语言的可视化开发平台,能快速开发遵循Windows标准的应用程序。DELPHI有众多的优越特性,它提供了新颖的可视化设计工具,来用面向对象的方法将windows编程的复杂性封装起来。实现了将可视化设计与object Pascal语言的有机集成,配有数据库引擎,可通过SQL链接,ODBC访问多种数据库,并且提供了强大的开发基于客户/服务器模式的数据库应用的能力。今天,DELPHI发展了7.0版。2002

11、年,DELPHI7.0的发布在业界立即掀起旋风,其功能与执行效率令许多程序设计人员瞠目。DELPHI7.0在IDE、Web、COM应用,数据库系统,组件库、运行期库、编译器及文档等多方面提供了一些新增功能或做了很大改进。它的一些特征包括:1. Dlphi7.0提供了对XML的支持,从而简化了数据分布,优化了数据交换。用户可以方便地创建高效率的Internet程序,把数据迅速发布到Internet上。2. Delphi7.0支持HTML4,使用户能在Web应用中创建各种类型的动态客户端程序。3. Delphi7.0增添了对ADO(ActiveX Data Object )的支持,用户可以迅速实现

12、对终端用户用来做商业决策的数据的一致性访问。通过ADO,Delphi7.0能让用户快速访问关系型或非关系型数据库以及E-mail和文件系统。4. 利用Internet Express,系统集成商和独立软件商可以快速开发高性能的应用系统。把Delphi7.0和InterBase Express结合起来使用,可以在只需少量维护工作且只占用很少系统资源的数据库上进行高效率、高性能的开发。5. Delphi7.0集成了一个与微软的SourceSafe功能相似的源代码管理TeamSource。6. 利用Delphi7.0中的MIDAS 3(Multi-tier Distributed Applicati

13、on Services Suite ),用户可以创建高效灵活的Delphi程序,以满足日益增长的事务量和用户数的需要。7. Delphi7.0的IDE的新特点主要包括:桌布的用户化设置增强了用户对开发环境的控制;编辑键映射功能让编辑器按照用户的习惯来工作。8. Delphi7.0企业版的VCL中一共包含有200多个控件,利用这些控件,用户可以奇迹般地加快应用程序从开始开发到推向市场的速度。第二章 系统需求分析2.1 需求分析的目的软件的需求分析必须要有对原业务的一个深入了解、提取、抽象、升华的过程,管理软件需求分析尤其如此。 软件的需求分析是从用户的业务中提取出软件系统能够帮助用户解决的业务问

14、题,通过对用户业务问题的分析,规划出我们的软件产品。这个步骤是对用户业务需求的一个升华,是一个把用户业务管理流程优化,转化为软件产品,从而提升管理而实现的质的飞跃,这一步是否成功,直接关系到开发出来的软件产品能否得到用户认可,顺利交付给客户,客户能否真正运用我们的产品帮助他解决业务或管理问题。 按照软件工程对软件开发过程的描述,需求阶段我们可以细分为需求调研和需求分析两个小阶段,需求调研需要充分细致的了解客户目标,用户业务内容、流程等,这是一个对需求的采集过程,是进行需求分析的基础准备。当我们已经了解、理解了用户的业务,于是可以开始分析需求了。2.2 系统需求分析本系统由于时间的关系,并没有实

15、际地与用户进行交流去了解他们的要求,而是通过自己对现代化企业的一些了解而做出的一些分析。考勤信息管理系统中主要要解决的是:1、员工的基本信息(姓名、性别、所属部门等)的管理; 2、员工基本信息的查询,出勤信息及工资情况的查询及计算; 3、给系统设定用户登录权限; 4、设定密码更改功能等等。 以上只是简单地对本系统做了些功能方面的需求分析,具体的系统需要完成的功能信息将在下一章的整体设计中得以具体的介绍。第三章系统整体设计3.1 系统分析与设计 基于上面的分析,按照软件工程的思想,对考勤信息管理系统进行功能分析:实现系统登录功能(密码修改功能),并限制不同用户(包括普通员工、人事部门人员、财务部

16、人员及管理员)登录所查看的信息;输入员工基本信息,包括姓名、性别、所属部门等;浏览和修改员工基本信息;输入出勤信息;输入基本工资和奖金信息并计算实际工资;浏览和修改员工的出勤情况,可同时查看该员工的基本信息;浏览和修改员工的工资情况,可同时查看该员工的基本信息;按实际工资情况查询员工;按姓名信息查看员工。附加功能:密码修改功能;帮助和说明。3.1.1 数据库设计基于以上的功能分析,可为考勤系统创建3个数据表,表的类型为Paradox。Paradox是Delphi的标准数据库类型,应用和维护都比较方便。将其数据表的设计如下:3.1.1 员工基本信息表(information.db) 字段名字段类

17、型字段大小关键字编号(BianHao)A6*姓名(XingMing)A10姓名编码(Bianma)A5性别(Sex)A2部门(BuMen)A12职称(ZhiCheng)A12住址(ZhuZhi)A40基本工资(GongZi)N 表2-1 员工基本信息表3.1.2 出勤情况表(OnDuty.db)字段名字段类型字段大小关键字员工编号(BianHao)A6*月份(YueFen)A6*应出勤(Ychuqin)N迟到(Chidao)N早退(Zaotui)N请假(Qingjia)N旷工(Kuanggong)N实际出勤(Schuqin)N 表3-2 出勤信息表3.1.3 工资表(Salary.db)字段名

18、字段类型字段大小关键字员工编号(BianHao)A6*月份(YueFen)A6*基本工资(GongZi)N奖金(Jiangjin)N实际工资(Sgongzi)N 表3-3 工资表需要说明一下的是,在员工基本信息表中设置了一个姓名的编码字段,那是因为在查询员工姓名时输入中文比较麻烦,常用的办法是提取中文姓名的每个字的首字母用于查询,因此就增加了“Bianma”字段的定义。接下来按照数据库的结构,使用Database Desktop创建数据表,同时使用BDE Administrator创建一个名为OnDuty的数据库别名,并将其路径指定为数据表所在的目录就行了。3.1.2 系统功能模块设计 考勤信

19、息管理系统的主要功能模块及其关系,如图2.2所示: 图3.1 考勤信息系统主要功能模块3.2 主界面设计3.2.1 窗体主界面的设计是数据库开发的关键步骤,因为它在某种程度上体现了程序开发的质量和水平。考勤信息管理系统采用多页形式的对话框,每个选项卡实现一种功能,用户可通过切换选项卡来操作整个系统的不同功能。这种界面的优点是结构紧凑,逻辑性强。在后面的运行事例里将有具体演示。3.2.2 Panel和PageControl组件 Panel组件和PageControl组件是在程序开发过程中经常使用的组件,熟练掌握它们对程序的开发设计大有益处。1. Panel组件 Panel组件是用来在窗体中产生一

20、个面板,在面板中可放入其他的组件。面板可以看作是将窗体客户区划分为不同部分并将其他组件编组的工具。尽管面板可以有自己的文本,但很少用。而面板更多的是使用它的三维效果来增进应用程序的视觉效果。 在这方面,Panel组件与Bevel组件相似,尽管后者的作用不大而且功能也不强。 从图形角度来看,面板类似于两个Bevel组件,因为它含有两个可以使用的Bevel元素。结合BevelWidth属性值,可以实现不同的效果。另外,Panel组件还可以处理提示。由于该组件的事件和方法较少而且不常用,下面主要介绍其属性,当然对 属性的修改可以在设计期或运行期来完成。 Align:很多组件有该属性,用来定义组件在窗

21、体中的位置。其可选值为alNone,alTop,alBotton,alLeft,alRight,alClient,alCustom。对于典型的工具栏,可使用alTop值,若模仿状态栏,可使用alBotton值。 Alignment:该属性定义Panel组件标题文本的排列方式。 BevelInner:该属性定义面板内框的显示风格,即有无内框。若有,是凸出还是凹进。 BevelOuter:该属性定义面板外框的显示风格,即有无外框。若有,是凸出还是凹进。 BorderStyle:该属性定义面板组件的边界类型,若为bsSingle,则为单线边界,若为bsNone,则无边界。 BorderWidth:该

22、属性定义面板周围边界的宽度,其默认值为0,即无边界。 Caption:该属性定义Panel组件的标题。 Color:该属性定义Panel组件的背景色。 Font:该属性包括一些子属性。可单击属性右边的按钮,打开“字体”对话框,进行设置。 Name:该属性定义Panel组件的名称。 Hint:该属性定义当鼠标在Panel组件上移动时所显示的文本。2. PageControl组件PageControl组件位于Win32组件页,是一组页面集,用来构造一个多页对话框,它显示多个交互页。用户通过选择出现在页面上部的Tab,以选择不同的选项卡。在设计时,如果要增加一个新页面,则可以使用鼠标右键单击并在弹出

23、的快捷菜单中选择“New Page”命令。如果只需建立一个单页,则可用Win32组件页的TabControl组件。 PageControl组件的几个重要属性和方法: ActivePage 属性。该属性指定当前显示的页,该属性的值为各个TabSheet组件的Name属性值。因为PageControl组件实际上是为TabSheet组件提供了一个类似的容器的功能,而真正与各个不同组件对象相对应的是TabSheet组件。通过读取ActivePage属性可以获知用户当前选中的是哪一个页面。在运行期Delphi提一些方法用于实时设置该属性,例如,使用SelectNextPage方法指定下一个相邻页为当前页

24、,FindNextPage方法可以查找下一个当前页,返回值为该页的Name属性。 Pages属性。该属性含有PageControl组件中的所有页面,并可通过下标问特定的页面,其中第一页的索引值为0,第二页的索引值为1,依此类推。可使用FindNextPage方法定PageControl组件中的特定页。值得注意的是,Pages属性 为只读属性。 PageCount属性。该属性确定在Pages属性中所包含的页数。如果MultiLine属性为False,则并非所有页均可视。 MultiLine属性。该属性决定PageControl组件的页面如何显示。若其值为 True,当组件上的页面超出时,显示为多

25、行;若其值为False,则只能显示一行,如果一行超出,则增加一个滚动条。 DoAddDockClient方法。如果在运行期在组件中添加新页,则可以调用该方法完成各页的必要的调整。 CanShowTab方法。该方法用来决定TabSheet页面在PageControl组件中能否被设置为活动页面,如果指定的页面被激活,则返回真。 FindNextPage方法。其功能是返回指定页的下一页。参数GoForward为False, 则该方法将返回CurPage页的前一页。当CurPage参数指定的不是PageControl组件中的一页时,如果参数GoForward为True,则该方法返回组件的第一页;否则调

26、用该方法返回最后一页。 SelectNextPage方法。调用该方法可查找当前页前或后的页。参数GoForward 决定是前一页还是后一页。 UpdateActivePage方法。调用该方法可以对当前页面内的属性和所有组件进行更新,以显示最新的数据。第四章主要功能模块划分4.1 系统登录模块设计 对多用户数据库程序来说,不同的用户应有不同的权限。比如管理员可以无任何限制,有的用户只有查询的权限没有修改的权限,有的用户只可以输入数据不能查询等等。所以在数据库程序启动时需要输入用户名和密码后才能进入,程序根据用户名找到用户的权限,确定哪些功能可以使用。有多种方法可以实现这种身份验证机制,例如使用系

27、统配置文件、数据库文件、Windows注册表操作等等。在本设计中,采用INI文件实现对用户名和密码的存储,其缺点是安全性不太高。4.1.1 有关文件操作文件是指存放在外部存储介质上的数据和程序等,在Delphi中使用File保留字定义文件的数据类型。 文件操作的步骤如下:(1)若文件已存在于磁盘上,则首先使用AssignFile方法将文件变量与实际 文件相连。该方法在System单元中定义。其语法为:procedure AssignFile(var F;FileName:string);其中F是任意类型的文件变量,FileName则是存在于磁盘上的外部文件名。需要注意的是,不要对一个已经打开的

28、文件变量使用AssignFile方法。 (2)接下来使用Reset方法打开文件,其语法为:procedure Reset(var F:File;RecSize:word);文件打开后使用相应的过程或函数读取文件的内容,对不同的文件类型有不同的读取方法。如果打开文件是为了在文件的末尾进行追加写操作,需要调用Append方法。(3) 对于磁盘上没有的文件,需要创建。其一般步骤是:首先还是使用AssignFile方法将某个文件变量与要创建的文件相连,然后使用ReWrite方法即可创建新文件。其语法为: procedure ReWrite(var F:File;RecSize:word); 对于文件处

29、理还需要注意:(1)用户在打开文件前应该对文件是否存在进行检测,可使用两种方法完成这个功能。一是使用Delphi提供的fileExists函数,该函数在SysUtils单元中定义,其语法为:function FileExists(const FileName:string):Boolean; 若FileName指定的文件存在,该函数将返回Ture;若文件不存在,将返回False。(2)创建新文件前一定要先确认磁盘上是否已存在同名文件,这是因为在写操作时使用的Rewrite方法若遇到同名文件,会将现有文件删除,然后建立一个空的同名新文件,新创建的文件会将原有的文件覆盖掉。一般情况下,使用File

30、Exists 函数检测即可避免这样的问题。(3)文件操作完毕后,关闭该文件。当文件关闭后,变化的内容才会保存到磁盘上,否则改变后的文件内容就极有可能丢失。可使用CloseFile方法关闭文件,该方法完成终止文件变量和外部磁盘文件之间的联系。其语法为:procedure CloseFile(var F);其中F为文件变量。4.1.2 INI文件解析 INI配置文件是一种自定义格式文件,该文件按照记录存储方式存储用户设计的基本信息。我们要将系统登录的用户名和密码存储在该文件中,每一个记录设计为30字节长,其中前10字节存储用户名 ,中间字节存储用户密码,最后10字节保留,可用作权限设置等。下图为系

31、统设置的INI文件结构表:用户名称(10字节)用户密码(10字节)保留(10字节)System740314RenshiRenshiCaiwuCaiwuGuestGuest 表4-1 INI文件结构表本用户定义了4个用户名称:system,renshi,caiwu,guest,分别对应着不同的权限,其中system可以拥有全部权限;renshi 用户为人事部门人员,他们只能浏览或修改PageControl组件中除“员工工资”和“出勤调整”外的页面内容,而且有些功能受到限制;caiwu用户为财务部门人员,他们只能浏览或修改除“员工信息”和“出勤信息”外的页面内容,而且有些功能也受到限制;另外,还有

32、一个guest用户,是专门用于普通用户登录的,其权限将受到较大的限制。当然,INI配置文件可以根据不同的应用系统,以不同的方式定义,表3-1只是一种简单的方法。INI文件中也可以包含很多用户信息。一个系统可以有一个配置文件,也可以有多个配置文件,有些系统为了加密的需要,将配置文件的结构定义得复杂一些,而且附带一些加密算法,目的是为了给解密者增加解密的难度,但同时也增加了设计的难度。4.1.3 系统登录窗口上一节已对INI配置文件进行了一些介绍,并给出了本系统登录时所要定义的几个用户和不同用户对应的不同的功能权限。这一节就介绍系统登录窗口的设计和所能实现的功能。 系统登录主要完成的是:当用不同的

33、用户进行登录的时候,当然本系统固定了system、renshi、caiwu、guest 四个用户;由于各个用户所拥有的权限是不一样的,所以所显示的界面也不是完全一样的。另外,在很多情况下,用户们希望输入密码后直接按Enter键就能完成系统登录过程,进入系统主界面。本系统也考虑到了这点,也加入了此项功能。再则,就是密码的验证控制,在系统登录窗口要进行密码的验证,如果输入3次不正确,将禁止用户继续登录,并退出应用程序。4.2 “员工信息”页功能简介 “员工信息”页的作用是输入和浏览员工的基本信息,而对于人事部门的用户和管理员登录还要考虑可以更改员工的基本信息。本页面可分为两部分。(1)左半部分是用

34、来进行员工的基本信息输入,主要有员工的编号、姓名、编码、性别、职称、部门、住址和基本工资。需要指出的是,员工的编号一般是数字字符,必须要强制用户输入数字字符而不能输入其他的字符。(2)“员工信息”右半部分主要是显示员工的基本信息的内容。同时,当左边输入添加的员工基本信息时也可加入到右边的显示中,可以对员工的基本信息进行修改。当然不是任何一个用户登录后都可以对员工的基本信息进行修改,因此将设计中的DBNavigator组件的Visible属性设置为False,而对system和renshi两个用户,则在程序运行时,将Visible属性设置为True。 另外,guest用户只是作为普通员工的登录,

35、对于员工信息数据库只有浏览的权利。所以,以guest用户身份登录时,其数据是只读的,“员工信息”页只是显示员工的基本信息,只能浏览而不能执行其他操作。4.3 “出勤信息”页功能简介 “出勤信息”页的作用是输入、浏览以及修改员工的出勤信息,并对不同身份登录的用户提供功能限制。本页使用DBChart组件用来演示员工的出勤情况,还可实现与“员工基本信息表”的表间关联。(1)该页的左边需要显示一个图表。DBChart组件不能直接显示各种图表,它要依靠它的子成员Series来实现图表的绘制。这里的图表可以分为两类:一类是标准图表,包括Line、Bar、Area、Pie、Arrow等等;另一类是函数类型的

36、图表,这样的图表可以对其他图表中的数据进行运算,然后加入到新建的图表当中。在这里,我使用的是标准图表中的Pie。 设计其为一个员工缺勤情况示意图。设置红-请假、蓝-迟到、黄-早退、绿-矿工,通过不同的颜色对员工的缺勤情况进行显示。(2)该页的右边部分是连接到数据表OnDuty.db上的,它就显示了员工出勤信息表的内容。 (3) 前面已经定义了实际出勤(Schuqin)字段为计算字段,所以将迟到和早退情况视为缺勤0.5天,将请假视为缺勤0.3天,矿工视为1天,并将计算的结果赋值给实际出勤字段。 (4)“删除记录”按钮是专门为system和renshi用户设置的,因为只有这两个用户才有权限进行该操

37、作。它的功能主要是删除员工出勤表中已经存在的一条信息,同时还可对表中显示的数据进行修改。(5)很多时候,用户需要在了解某位员工出勤情况的时候,能够随时查看该 员工的基本信息。基于这一点的考虑,本系统设置了一个“员工信息”按钮,通过这个按钮,用户可直接切换到“员工信息”页查看员工的基本信息。 (6) 对于system和renshi用户该页还设置了一个“输入出勤信息”按钮,而对于guest用户该按钮是不可用的。单击该按钮就会出现一个“信息录入”的窗口可输入某位员工的出勤信息。输入完毕后,在表中将显示添加的记录。(7) 由于guest用户没有权限进行出勤信息的输入,因此在登录校验中就需添加代码bit

38、btn.Enabled:=false;目的是禁止guest用户使用“输入出勤信息”按钮。4.4 “员工工资”页功能简介 “员工工资”页主要包含了员工的编号、月份、调整系数、基本工资、奖金和实际工资几个部分。可通过输入员工编号、基本工资和奖金并选择调整系数计算出员工某个月份的实际工资。(1)员工工资的计算分为两个部分:一部分是员工的基本工资,另一部分是员工的奖金,与员工出勤之间有较大的关系。最后的实际工资计算公式为:实际工资 = 基本工资 + 奖金 调整系数(出勤)。 (2)在单击“实际工资”按钮时,将显示本月该员工的实际工资,同时将实际工资值舔加到“实际工资”编辑框中。另外,“输入数据”按钮的

39、设计状态为不激活,在单击“实际工资”按钮后,则激活该按钮,以便在右边的DBGrid组件中输入员工的工资数据。(3)“输入数据”按钮的主要目的就是将用户输入的数据添加到数据表中,同时在右边的DBGrid组件中显示出来。(4)“删除记录”按钮主要是使有权限的用户(system和caiwu)删除员工的工资信息记录。当用户单击该按钮时,就会出现“真的要删除吗?”的对话框,确定其对话框就执行了删除命令,取消就不执行删除命令。(5)最后,与“出勤信息”页相似,只要单击“员工信息”按钮,对于指定编号的用户可以查看其对应的员工信息。实现“员工工资”页与“员工信息”页的切换。(6)另外需要说明的是,企业员工之间

40、工资一般都是保密的,guest用户没有权限对员工工资进行了解,所以在用guest用户登录时,“员工工资”页是不可见的。这样就确保了各个员工之间工资的保密性。4.5 “相关查询”页功能简介 本页可实现员工工资和出勤查询,还可依据员工姓名编码查询该员工的基本信息。在Delphi中数据库的查询功能主要通过Query组件,并用SQL语言实现,在这里主要用到了查询命令select语句。1Select语句介绍:Select语句的一般形式如下:Select 列名 from 表名 where 查询条件 2 有关密码修改 group by 列名 order by 列名 having. 其中列名一般由一组字段名、

41、*号、表达式、变量等构成。表名指定数据的来源,查询条件则有多种表达方式。2查询方式介绍: (1) 用户可以对员工的工资进行查询。在“关于工资”一栏选择实际工资的范围,再点击旁边的按钮就可实行关于工资的查询,查询的结果将通过下面的DBGrid组件显示出来。当然这里的查询也是通过添加了SQL语言的查询语句来实现的。语句具体形式为:select * from salary where sgongzi between:p1 and:p2 其中p1和p2由用户在两个编辑框中输入的内容赋值。(2)用户还可以对员工的出勤进行相关查询。与工资查询部分相同,出勤查询也是通过一个范围进行查找的,它是对出勤天数选择

42、范围来查询的,同样的,查询结果也是通过它下面对应的DBGrid组件来显示的。也要添加相应的select查询语句,只是对应的表从salary改为onduty。(3)除了以上两个查询功能外,还可通过员工的姓名编码来查找某位员工的基本信息。用户只需在“姓名编码”处输入一定的查询条件,就可在它对应的DBGrid组件中获得相关的该员工的基本信息。“相关查询”页主要是通过使用SQL语言中的 select 语句来实现对员工工资、出勤信息和员工基本信息的查询。本页的设计其实就是SQL语言的select 语句的应用;事实上,select 语句的查询功能是非常强大的,在本系统中的应用是比较简单的几种查询功能。4.

43、6 “密码修改”页功能简介 本页面主要是提供一个用户密码修改的功能,目的是为了提高系统的安全性和可靠性。1 密码设置信息的设计本页的“密码设置信息” 是可以动态地滚动显示的,设计使用了delphi的canvas类,用于滚动显示密码使用须知,增加程序的易用性。标准的组件窗口如编辑框、列表框等等都需要一个画布,使它们的内容能在窗口中以丰富的形式体现出来。(1)Canvas提供了一些属性、方法和事件,为绘图应用定义画刷、画笔与字体类型,绘制和填充变化的形状与线,显示文本,提交图像,以及当前图像改变时激活某些事件。(2)实现滚动文字效果的基本思路是:选择一个有 TCanvas 类的组件,如Image,然后用某种颜色填充画布,接着使用其他颜色显示固定尺寸的字符串,同时使用Timer组件控制不断地改变字符串的位置。由于原来位置的字符串不能自动消失,所以需要用填充颜色覆盖多余部分的字符串,这样就可以实现平滑的文字滚动效果。该页面的主要工作是完成密码修改工作。前面已经从Username和Userpass两个变量中获得了用户名和密码,由于用户名已经定义,所以在此只需要对密码进行处理就可以了。(1)当进行密码修改时,需先输入旧密码。由于旧秘码的输入有可能出现输错的可能,所以当旧密码输入不正确时,系统将给出“旧密码输入不正确,请重新输入!”的提示信息。(2)同样,在“验证新密码”编辑

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号