考勤管理系统源程序及论文-无忧无虑毕设网_第1页
考勤管理系统源程序及论文-无忧无虑毕设网_第2页
考勤管理系统源程序及论文-无忧无虑毕设网_第3页
考勤管理系统源程序及论文-无忧无虑毕设网_第4页
考勤管理系统源程序及论文-无忧无虑毕设网_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 本文配套程序下载地址 : 无忧无虑毕设网 ()-大学生毕业设计站 ,免费毕业设计论文 ,无忧无虑毕设网 大学生毕业设计 ,出售各类毕业设计源码 ,论文 ,程序源码 ,网站源码 ,免费视频教程 ,我们将竭诚为您服务! 毕业论文任务书 2002 级 计算机应用与维护 专业 一 班 姓名 冯国华 学号 200225 一、论文题目: 考勤管理系统应用程序 二、论文具体要求: 1、能实际应用。 2、设置系统封面、系统口令、完成系统初始化。 3、创建数据库。 4、在实现输入、修改、显示、查询等功能基础上扩充。 5、控件 结构图和程序流程图。 6、完成设计说明书。 三、起止日期: 自 2005 年 05 月 10 日至 2005 年 05 月 日 四、指导教师: 姓名: 任成刚 职称: 计算机系教师 胡国红 职称: 计算机系教师 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 陈庆刚 职称: 计算机系教师 兖州矿区职工大学 2005 年 06 月 日 目 录 一、 前 言 二、 考勤管理系统功能分析 三、 模块图及流程图 1. 模块图 2. 流程图 四、 程序源代码及部分程序界面 1. 程序源代码 2.部分程序界面 五、 附 录 1. 开发人员分工名单 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 2. 系统开发参考文献 六、 结束语 一 、前 言 无论一种开发工具多么美妙,都需要在实践中不断理解和掌 握它!我们剖析数据库开发案例,由浅入深步入 DELPHI 数据库 系统开发世界!没有必要详细研究 DELPHI 的发展历史,我们目 睹的是其作为伟大开发工具的事实。由 BORLAND 公司出品的DELPHI 是一种典型的面向对象的、用于 RAP 开发的可视化编程语言。它继承了 OOP( Orient Object Pascal)语言中优越的全功能平台,以及编程效率高、代码质量好等优点,并解决了诸如 Visual Basic等可视化程序设计语言中的代码执行效率低下等问题 。我们用DELPHI 开发的考勤信息管理系统,涉及文件的操作和管理,数据库的基本查询和操作以及 DBChart 和 PageControl 组件的使用。 企业员工的考勤的工作不仅工做量大,而且时效性强。过去,企业多采用签到和报表式进行管理效率和透明度较差,随着数据技术的无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 发展以及企业信息化建设的进行,使用计算机管理企业考勤工作以成为大势所趋。 基于此,按照软件工程的思想,对考勤信息管理系统进行功能分析: 实现系统登陆功能(密码修改功能),并限制不同用户(包括普通工人、人事部门人员、财务部人员以及管理员)登陆所查看的信息 ; 输入员工基本信息,包括姓名、性别、所属部门等; 浏览和修改员工基本信息; 输入出勤信息; 输入基本工资和奖金信息并计算实际工资; 浏览和修改员工的出勤情况,可同时查看该员工基本信息; 浏览和修改员工的工资情况,可同时查看该员工基本信息; 按实际工资情况查询员工; 按实际出勤情况查询员工; 按姓名信息查询员工; 附加功能: 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 密码修改功能; 帮助说明。 由于时间仓促,加上开发人员水平有限,虽然工作认真,但此系统难免有很多疏漏之处,敬请各位老师和同学批评指正。 二、考勤管理系统功能分析 本程序设计的是一个 公司员工每天的考勤管理程序,经过简单扩充成为一个完整的考勤管理系统。下面来说一下本程序的各个模块的功能及数据库的结构。 一、本程序由登录界面、员工信息、出勤信息、员工工资、相关查询、密码修改、帮助说明及退出系统五部分组成。 登录界面:登录界面产生一个用户的下拉列表(系统管理员、财务部门、人事部门及普通用户),用户可选择相应的用户名称,输入对应的密码进入,选择“取消”终止程序运行。防止用户以外的人看到密码,密码输入框内的密码用“”屏蔽。 员工信息:本界面可实现员工相关信息的修改与添加。 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 出勤信息:本界面可实 现员工出勤信息的输入,可参看缺勤情况示意图。 员工工资:本界面可实现员工基本工资与实际工资的输入与修改。 相关查询:可由员工实际工资差位来查看详细工资情况(编号、月份、工资、奖金、实际工资),由出勤天数查看详细出勤情况(编号、月份、出勤、迟到、早退、请假、旷工、实际出勤),由员工姓名查看员工详细情况(编号、姓名、编码、性别、部门、职称、住址、工资)。 密码修改:通过阅读密码修改设置信息和旧密码进行密码修改并显示用户身份。 帮助说明:本界面显示本系统所有应用信息,可打印本系统相关应用信息。 退出系统:本界面显 示系统信息(应用操作系统)、程序作者(管理系统的作者)。 二、数据库的结构设计 本程序用到了三个数据表,一个是员工基本信息表,一个是出勤信息表,一个是工资表,全部存在 Paradox 数据库中,下面是个数据无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 库表的数据结构: (一) 员工基本信息表 字段名 字段类型 字段大小 编号( bianhao) 文本 6 姓名 (xingming) 文本 10 姓名编码 (xingmingbianma) 文本 5 性别( xingbie) 文本 2 部门 (bumen) 文本 12 职称 (zhicheng) 文本 12 住址 (zhuzhi) 文本 40 基本工资 (jibengongzi) 数字 (二)出勤情况表 字段名 字段类型 字段大小 员工编号 (yuangongbianhao) 文本 6 月份 (yuefen) 文本 6 应出勤 (yingchuqin) 数字 迟到 (chidao) 数字 早退 (zaotui) 数字 请假 数字 旷工 数字 实际出勤 数字 (三)工资表 字段名 字段类型 字段大小 员工编号 (yuangongbianhao) 文本 6 月份 (yuefen) 文本 6 基本工资 (jibengongzi) 数字 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 奖金 (jiangjin) 数字 实际工资( shijigongzi) 数字 三、模块图及流程图 考勤系统主模块图: 退员 工 信 息 出勤信息 员工工资 相关查询 密码修改 帮助说明 退出系统 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 主程序流程图: N Y 用户 身份验证 主界面 系统退出 信息 员工信息添加修改 考勤管理系统 输入记录 删除添加 输入删除 员工信息 实际工资 输入数据 删除记录 旧密码 新密码 验证码 工资查询 出勤查询 姓名查询 说明目录 功能特色 打印本页 程序作者 退出系统 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 用户登录流程图 N 选择用户 开 始 输入密码是否正确 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 员工信息流程图 Y 结 束 进入主界面 Y 输入内容 判断是否添加 开 始 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: N 员工出勤流程图 开 始 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: Y N 员工工资流程图 N 输入内容 显示结果 继续添加 结 束 确认添加 是否齐全? 开 始 输入数据 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: Y Y 相关查询流程图 显示实际工资 显 示 是否输入数据? N 是否删除记录 ? 是否显示该员工记录 ? 显示原有记录 N N Y Y 结 束 开 始 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 密码修改流程图 N 存 在? 显 示 Y 结 束 开 始 输入数据 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: N Y N Y 四、程序源代码及部分模块界面 1 系统登录模块 本窗口共添加了 3 个 Label 组件, 1 个 ComboBox 组件, 1 个输入新密码 验证新密码 修改成功 结 束 输入密码是否正确 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: Edit 组件, 1 个 Bevel 组件, 1 个 Image 组件, 2 个 BitBtn 组件和 1 个 GroupBox 组件,并安排布局如下图。 完成了登录窗体的设计之后,需要进行事件的分析和处理。首先对主页中的 Label3的 OnClick和 OnMouseDown事件添加以下的代码,功能是当用户将鼠标移动到该组件上时,出现超链接的效果,同时启动邮件收发程序向指定的电子邮件地址发信息。 procedure TPassworddlg.Label4Click(Sender: TObject); begin ShellExecute(handle,nil,pchar(mailto:),nil,nil,sw_shownormal); end; procedure TPassworddlg.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin Label4.Font.Color :=clmaroon; end; 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 接下来在系统登录窗体的 OnCreate 事件中进行 INI 配置文件的设置与初始化。在事件的右边窗格中双击鼠标,即可打空的事件处理句柄,用户可在此进行编辑。程序代码如下。 procedure TPassworddlg.FormCreate(Sender: TObject); var datafile:file; NumRead,NumWrite,ii:integer; siz:longint; FileOk:boolean; buf:string60; begin FileOk:=true; assignfile(datafile,sys.ini); if fileexists(sys.ini)=false then fileok:=false else begin reset(datafile); siz:=filesize(datafile); if siz10 then combobox1.Items.Add(buf); blockread(datafile,buf,12,numread); until(numread=0); closefile(datafile); end; 在多数的情况下,用户希望输入密码后直接按 Enter 键就完成登录过程,进入系统主界面。此时,可在登录窗体的 OnKeyPress事件中添加以下代码。 procedure TPassworddlg.FormKeyPress(Sender: TObject; var Key: Char); begin if key=#13 then begin perform(WM_NEXTDLGCTL,0,0); END; end; 在系统登录窗口要进行密码的验证,若输入 3次不正确,将禁止用户继续登录,并退出 应用程序。代码如下: 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: procedure TmainForm.FormActivate(Sender: TObject); var cmptimes,bn:integer; ss1,ss2:string200; begin cmptimes:=1; if passwordin=false then begin passwordin:=true; repeat bn:=passworddlg.showmodal; if bn=mrok then begin ss1:=bobox1.text; ss2:=passworddlg.password.text; if cmppassword(ss1,ss2) then cmptimes:=100 else begin cmptimes:=cmptimes+1; if cmptimes3 then close else messagedlg(密码错误,请重新输入,一共三次机会! ,mtwarning,mbok,0); end; end else bn=mrcancel begin cmptimes:=100; close; end; until(cmptimes3); if passworddlg.ComboBox1.Text=system then begin 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: mainform.UpdateActions; PageControl1.ActivePage:=tabsheet1; DBNavigator1.Visible:=true; end else if passworddlg.ComboBox1.text=renshi then begin mainform.UpdateActions; PageControl1.ActivePage:=tabsheet1; DBNavigator1.Visible:=true; tabsheet3.TabVisible:=false; end else if passworddlg.ComboBox1.text=caiwu then begin mainform.UpdateActions; PageControl1.ActivePage:=tabsheet3; tabsheet1.TabVisible:=false; tabsheet2.TabVisible:=false; end else if passworddlg.ComboBox1.text=guest then begin mainform.UpdateActions; PageControl1.ActivePage:=tabsheet1; DBGrid1.Align:=alclient; DBGrid1.ShowHint:=True; DBGrid1.Hint:=您只有浏览的权利! ; DBGrid1.ReadOnly:=True; dbgrid2.ReadOnly:=true; bitbtn1.Visible:=false; bitbtn4.Enabled:=false; bitbtn2.Enabled:=false; tabsheet3.TabVisible:=false; tabsheet5.TabVisible:=false; end; end; 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: end; 应该注意的是 TabSheet 组件有一个 TabVaisible 属性,该属性用来定义该 TabSheet 组件是否在 PageControl 组件中可视,通过给该属性赋值,可限制某些用户对某些信息的浏览和修改。系统登录窗口将在主窗体激活前显示。 还要在主窗体的 private处添加定义如下: private passwordin:boolean; truesalary:real; function cmppassword(s1:string; s2:string):boolean; Private declarations 此处定义的 password 函数用来比较密码,代码如下: function tmainform.cmppassword(s1:string;s2:string):boolean; var datafile:file; rt:boolean; numread:integer; buf1,buf2:string30; begin rt:=false; assignfile(datafile,system.ini); reset(datafile,1); repeat blockread(datafile,buf1,12,numread); blockread(datafile,buf2,12,numread); if (s1=buf1) and (s2=buf2) then begin username:=s1; userpass:=s2; result:=true; exit; end; 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: until(numread=0); closefile(datafile); cmppassword:=rt; end; 就此完成了登录窗体。 2 员工信息模块 本模块的作用是输入和浏览员工的基本信息,而对于人事部门的用户及管理远登陆还要考虑可 以更改员工的基本信息。 本模块可以分为两部分,使用 Bevel组件分开,在系统登陆窗体设计中曾使用过这个组件。事实上, Bevel 组件是一个修饰组件,允许用户在窗体中显示线、框和框架,常用于分割显示不同应用组件。可设置组件为凹下和凸起状态。 Bevel 组件有俩个最重要的属性 Shape 属性和 Style 属性。 Shape 属性该属性定义 B evel 组件在窗体中显示的形状。 Style 该属性确定 Bevel 组件的显示形状是凹下还是凸起,若其值为 bsLowered,则为凹下状态;若值为 bsRasised,则 Bevel 组件呈凸起 状态。在 Bevel2 中添加八个 Label组件,六个 Edit 组件和两个 ComboBox 组件。完成设置后,再添加一个 BitBtn 组件 BitBtn1,并设置 Kind 属性为 bkOK, camption 属性为“输入记录”。在员工信息模块的右半部分添加一个 DBGrid 组件,一个 DataSourcu 组件,一个 Table 组件和一个 DBNavigator 组件。 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 不是任何一个用户登陆后都可以对员工基本信息进行修改的,因此将Dbnavigator组件的 Visible属性设置为 False,而对 system和 renshi两个用户,则在 程序运行时,将 Visible 属性设置为 True. 根据需要,有时要在数据表内增加一些自定义的字段,常常是根据表中其他字段动态地计算出来的,这些字段可称为计算字段。计算字段是在程序设计中常用的一个手段,它在程序运行时生成,在程序结束时消失,不会在数据表中占用空间。 最后指出的是,员工编号一般是数字字符,必须要强制用户输入数字字符而不能输入其他字符。 Style 属性确定了下图 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 输入编号,姓名,性别,职称等如下图运行。 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 添加一个 BitBtn 组件, Caption 属性为 “输入记录”,代码如下 : if (combobox1.text=) or (edit1.text=) or (edit2.text=) or (edit3.text=) or(edit4.text=) or (edit5.text=) or (combobox2.text=) then begin MessageDlg(资料输入不全 !, mtWarning, mbOk, 0); exit; end; table1.active:=true; with table1 do begin append; FieldValuesbianhao := trim(edit1.text); FieldValuesxingming := trim(edit2.text); FieldValuessex := trim(combobox1.text); fieldvaluesbianma:=trim(edit16.Text); FieldValueszhicheng := trim(edit3.text); FieldValuesbumen :=trim(combobox2.text); FieldValueszhuzhi :=trim(edit4.text); FieldValuesgongzi :=strtofloat(trim(edit5.text); Post; end; 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: combobox1.text:=男 ; combobox2.text:=车间办公室 ; edit1.Text:=; edit2.Text:=; edit3.Text:=; edit4.Text:=; edit5.Text:=; edit16.Text:=; end; 连接数据库得到如图 : 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: Field 组件有称为字段组件或字段对象,它对应着数据表的字段。它是在打开数据表时动态产生的,并在数据表关闭时自动消失。改组件为字段对象封装了一些行为,常常用于改变数据表中的字段值、转换字段类型、验证用户输入值、定义字段如何显示和编辑、通过在OnCalcFields 事件响应过程中编写代码、计算字段以及查询字 段。 通过字段编辑器可以建立永久性的 Field列表 Dellphi应用程序使用这些永久性的字段会加入到程序库单元的 Tform 类型定义中,即使数据表中的基本结构发生了变化。这些字段也一直保留如果原来的程序对象不存在了,那就是 Delphi 应用程序在运行的过程中给出了错误信息。 在 Table 组件中 ,Delphi 提供了 FieldByName 方法,可以通过字段名访问字段对象,从而更加方便。 永久对象的访问比动态的简单。 用户通过 Field对象的 Value 进行 从字段对象中读取字段值给变量赋值必须保证其数据类型相匹配,否则会出错 guest 用户只是作为普通员工的登录。对于员工基本信息数据库只有浏览的权利,没有修改,移动的权利 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 首先选中 DBGridl组件,然后选择 Edit Bring to Front 菜单命令,将该组件设置前,然后在主窗体中添加代码。 执行程序,这时以 guest用户身份登录,则只有 DBGrid 组件存在,而且起数据是只读的。 运行如窗口所示 3 出勤信息模块 出勤信息模块的作用是输入、浏览以及修改员工的出勤信息,并对不同身份登陆的用户提供功能限制。本页使用 DbChart组 件用来演示员工的缺勤情况,还可实现与“员工基本信息表”的表间联系。本模块主要用到DBChart组件,它来源于 Tchart,并继承了 Tchart 所有的功能。 Tchart 是TeeChart 库中最重要的一个组件,该组件从 Tpanel 类中继承了所有的属无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 性和方法。 DBChart组件不能直接显示各种图表,而要依靠它的子成员Series 来实现图表的绘制。 DBChart 组件的属性、子属性繁多复杂,对属性的设置可以通过 EditDBChart 对话框来实现。在“出勤信息” TabSheet上添加一个 DBChart 组件,一个 DBGrid 组件,一个 bevel组件。 很多时候,用户需要在了解某位员工出勤情况的时候,能够随时查看该员工的基本信息。对于“员工信息”按及到主从表的问题。钮的 OnClick事件的处理,涉 若在程序设计期就想实现这种关联,用户可在设置 MasterSource属性后,单击 MasterFields 属性右边的“ ”按钮,打开:“ Fiedl Link Decigner” 对话框,在 Detail Fields 和 Master Fields列表中建立关联的字段,单击“ Add”按钮,则在 Joined Fields 列表框中就会出现建 立关联的字段 由于保证各个 Tabsheet 的独立性,因此最好在代码中实现这种主从表关系,即设置 MasterSource 和 MasterFields属性。 设置一个出勤信息按钮而对于 Guest用户该按钮是不可用的。单击该按钮可输入某位员工的的出勤信息,输入完毕后,在 DBGrid2中将显示添加的记录。单击工具栏上的 New Form 按钮新建“输入出勤信息”无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 窗体。 打开 DBChart 的 3种方法 1 双击 DBChart 组件 2 单击 SeriesList 属性右边的“ ”按钮 3 右键单击 DBChart组件,弹出的快捷键中选择“ Edit Chart” 。 DBChart的属性设置如图所示 DBChart运行后如下图: 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: AnimatedZoom 属性:是一个布尔值,为 True,则 DBChart 组件可以动态的大与缩小。 AnimatedZoomSteps属性:确定 Zoom 的部数。是动画属性。 SeriesList属性: DBChar 组件只提供了一个放置图层表的位置,而本身并不能显示图表,必须在组件中添加。 Title属性:用来确定 DBChar组件中的标题文本。 Legend 属性:定义图表的比例 设 置完 DBChart后,连接数据库,数据库如图所示 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 出勤信息模块记录了,公司员工出勤,请假,旷工,迟到与工资之间的联系,它取决于你的工资还有奖金。让管理人员很方便的来管理好公司员工的出勤情况!能更好的让员工们自觉的上班下班! 员工出勤信息模块运行如下图: “输入出勤信息”代码如下: procedure TmainForm.BitBtn4Click(Sender: TObject); var rn:integer; begin formchuqin.showmodal; if rn=mrok then dbgrid2.SetFocus; table2.close; table2.Open; end; 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: “删除信息记录”代码如下: procedure TmainForm.BitBtn2Click(Sender: TObject); var bn:integer; begin bn:=messagedlg(真的要删除? ,mtconfirmation,mbOK,mbcancel,0); if bn=mrok then table2.Delete; end; “员工信息”代 码如下: procedure TmainForm.BitBtn3Click(Sender: TObject); begin table1.Open; table1.MasterSource:=datasource2; table1.MasterFields:=bianhao; pagecontrol1.ActivePage:=tabsheet1; bitbtn12.Visible:=true; bitbtn12.BringToFront; bitbtn12.SetFocus; dbgrid1.Align:=alclient; dbgrid1.ReadOnly:=true; end; 在输入出勤记录中添加一个信息录入,如下图: 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 在添加按钮的 OnClick 事件中添加如下所示代码。 procedure TFormchuqin.BitBtn1Click(Sender: TObject); begin if edit1.text= then begin MessageDlg(资料输入不全 !, mtWarning, mbOk, 0); exit; end; table1.Open; with table1 do begin append; fieldbyname(bianhao).value:=trim(edit1.text); fieldbyname(yuefen).value:=trim(2001+combobox1.text); fieldbyname(ychuqin).value:=strtoint(trim(edit4.Text); fieldbyname(chidao).value:=strtoint(trim(edit2.text); fieldbyname(zaotui).value:=strtoint(trim(edit3.Text); 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: fieldbyname(qingjia).value:=strtoint(trim(edit5.Text); fieldbyname(kuanggong).value:=strtoint(trim(edit6.Text); post; end; end; 4 员工工资模块 在窗体中添加 1 个 Panel 组件, 1 个 Bevel 组件, 1 个RadioGroup组件, 1个 ComboBox组件, 1个 Table组件, 1个 DataSource组件。 4 个 object BitBtn8: TbitBtn 按钮(实际工资、输入数据、删除记录、员工信息), 4 个 Edit 按钮(编号、基本工资、奖金、和实际工资的输入)和 5 个 Label 组件(编号、月份、基本工资、奖金、和实际工资)。并设计它们的属性。完成设计后,设计的窗体如下图所示: 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: RadioGroup 组件是一个代表 RadioButton 的组,它将几个RadioButton 组合在一起,按钮之间在选择上是相互排斥的,当 选择其中一个 RadioButton 时,其他按钮的选择状态即被清除。运用该组件,在多选一的事务处理中,是相当有意义的。该组件的继承关系为:TobjoGroup-Tpersistent-Tcomponent-Tcontrol-TwinControl-TcustomControl-TcustomGroupBox-Tcustom-RadioGroup,它有几个重要的属性: 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: Columns 属性:该属性定义组中的列数,其值可以从 1 到 16,系统默认值为 1。 Items 属性:该属性定义各个 RadioButton 的标 题,可以在程序设计时编辑。 ItemIndex 属性:该属性表示用户选择了哪一个 RadioButton。它是一个索引值,第一个按钮的索引值为 0,第二个为 1,依次类推。若返回值为 -1,表示用户没有选择按钮。 事件分析处理 工资的计算分为两部分:一部分是员工的基本工资,另一部分是员工的奖金,与员工出勤之间有较大关系。假定最后的实际工资计算公式为:实际工资 =基本工资 +奖金调整系数(出勤)。在“实际工资”按钮的 OnClick 事件中添加如下的代码: procedure TmainForm.BitBtn5Click(Sender: TObject); begin if (combobox3.text=) or (edit6.text=) or (edit7.text=) or (edit8.text=) then begin MessageDlg(资料输入不全 !, mtWarning, mbOk, 0); exit; end; bitbtn6.Enabled:=true; /激活 输入数据 按钮 if radiogroup1.ItemIndex=0 then truesalary:=strtofloat(edit7.text)+strtofloat(edit8.Text)*0.3; 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: if radiogroup1.itemindex=1 then truesalary:=strtofloat(edit7.text)+strtofloat(edit8.Text)*0.8; if radiogroup1.itemindex=2 then truesalary:=strtofloat(edit7.text)+strtofloat(edit8.Text)*1.0; if radiogroup1.itemindex=3 then truesalary:=strtofloat(edit7.text)+strtofloat(edit8.Text)*1.2; edit9.text:=; edit9.text:=floattostr(truesalary); showmessage(该员工本月的实际工资为 +floattostr(truesalary); end; 其中的 truesalary 变量已在单元文件的 private 部分定义,程序在执行时,将 显示本月该员工的实际工资,同时将该实际工资值添加到“实际工资”编辑框中。另外,“输入数据”按钮的设计状态为不激活,在单击“实际工资”按钮后,则激活该按钮,以便在右边的DBGrid 组件中输入员工的工资数据,故加入了“ bitbtn6.Enabled:=True;”这行代码。事件的执行结果如下: 其次,在“输入数据”按钮的 OnClick 事件中添加如下的代码,其目的是将用户输入的数据添加到数据表中,同时在 DBGrid 组件中显示出来。 procedure TmainForm.BitBtn6Click(Sender: TObject); 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: begin if (combobox3.text=) or (edit6.text=) or (edit7.text=) or (edit8.text=) then begin MessageDlg(资料输入不全 !, mtWarning, mbOk, 0); exit; end; table3.active:=true; /打开表 with table3 do begin append; /在末尾添加空记录 FieldValuesbianhao := trim(edit6.text); FieldValuesyuefen := trim(2001+combobox3.text); FieldValuesjiangjin :=strtofloat(trim(edit8.text); FieldValuesgongzi :=strtofloat(trim(edit7.text); FieldValuessgongzi:=strtofloat(trim(edit9.Text); Post; end; combobox3.text:=; /以下清空用户输入信息 edit6.Text:=; edit7.Text:=; edit8.Text:=; edit9.Text:=; bitbtn6.Enabled:=false; /使 输入数据 按钮处于不活动状态 end; 第三,在“删除记录”按钮的 OnClick 事件中添 加如下的代码,目的是使有权限的用户( system 和 caiwu)删除员工的工资信息记录,用户单击该按钮,则执行结果如下图: 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: procedure TmainForm.BitBtn7Click(Sender: TObject); var bn:integer; begin bn:=messagedlg(真的要删除吗? ,mtconfirmation,mbOK,mbcancel,0); if bn=mrok then table3.Delete; /删除记录 end; 最后,与“出勤信息”页相似,对于指定编号的用户可以查看其对应的员工信息,只需在“员工信息”按钮的 OnClick事件中添加如下的代码: procedure TmainForm.BitBtn8Click(Sender: TObject); begin table1.Open; table1.MasterSource:=datasource3; table1.MasterFields:=bianhao; /设置主从表 pagecontrol1.ActivePage:=tabsheet1; /切换到员工信息页 bitbtn13.Visible:=true; /使 返回 按钮可见 bitbtn13.BringToFront; bitbtn13.SetFocus; dbgrid1.Align:=alclient; dbgrid1.ReadOnly:=true; end; 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 5 相关查询模块 本页可实现员工工资和出勤查询,还可以依据员工姓名编码查询该员工的基本信息。 (关于工资、出勤、姓名 )的流程图。本页在TabSheet4 上添加 3个 GroupBox组件, 3 个 BitBtn组件 , 3个 DBGrid组件, 3 个 Query组件, 3 个 DataSouree 组件, 4个 UpDown 组件和 7个 Label组件。添加组件后如下图: 本页的事件处理是 3 个位图按钮的 OnClick事件,单击这些按钮完成各自的查询功能。在工资查询部分的位图按钮的 OnClick事件添无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 加以下代码: procedure TmainForm.BitBtn11Click(Sender: TObject); begin with query2 do begin close; /关闭 Query SQL.clear; /清空 SQL 属性 sql.Add(select * from salary where sgongzi between :p1 and :p2); /添加 SQL语句 params0.AsInteger:=strtoint(trim(edit13.Text); params1.Asinteger:=strtoint(trim(edit14.Text); /SQL 参数传递 prepare; /准备查询 open; /开始查询 end; edit13.Text:=; /清空编辑框内容 edit14.Text:=; end; 其次,在 Query组件的 SQL 属性中添加了查询语句: select*from salary where sgongzi between:p1 and :p2,其中查询变量 p1 和 p2由用户在两个编辑框中输入的内容赋值,最后查询结果通过 DBGrid组件显示。 在出勤查询部分的位图按钮的 OnClick 事件中添加以下代码: procedure TmainForm.BitBtn10Click(Sender: TObject); begin with query3 do begin close; /关闭 Query sql.Clear; /清空 SQL 属性 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: sql.Add(select * from onduty where (ychuqin-chidao*0.5-zaotui*0.5-qingjia*0.3-kuanggong) between :p1 and :p2); /添加 SQL 语句 query3.params0.AsInteger:=strtoint(trim(edit11.Text); query3.params1.Asinteger:=strtoint(trim(edit12.Text); /SQL 参数传递 query3.Active:=true; /开始查询 end; end; 最后在“开始查询”按钮的 OnClick事件中添加以下代码,通过姓名编码查找某位员 工的基本信息。 procedure TmainForm.BitBtn9Click(Sender: TObject); begin with query1 do begin close; /关闭 Query sql.Clear; /清空 SQL 属性 sql.Add(select * from information.db); /添加 SQL 语句 sql.Add( where Bianma=:p1); parambyname(p1).asstring:=trim(edit15.Text); /SQL 参数传递 prepare; /准备查询 open; /开始查询 end; edit15.Text:=; end;edit15.Text:=; end; 输入代码之后,单击工具栏上的“ Run”快捷键或按 F9 键,用户登录之后切换到“相关查询”页,输入一定的查询条件,就可获得如下图所显示结果。 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 6 密码修改模块 本模块的设计使用了 Delphi 的 Cabvas 类,用于滚动显示“密码使用须知”,增加程序的易用性。 ( 1) .实现滚动文字 基本思路:选择一个有 Tcavas 类的组件,如 Image,然后用某种颜色填充画布,接着使用其他颜色显示固定尺寸的字符串,同时使用 Timer组件控制不断地改变字符串的位置。由于原 来位置的字符串不能自动消失,所以需要用颜色覆盖多余部分,这样即可实现平滑的文字滚动无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 效果。 Ststem 页的 Timer 组件是一个定时器组件,如果用户指定了一定的时间间隔,应用系统每阁一定的时间就触发一次 OnTimer 事件,通过编写 OnTimer 事件句柄,就可以实现定时处理某些动作。该组件的继承关系为: TObject-Tpersistent-Tcomponent。 Timer 组件有两个重要的属性 Enabled 和 Interval。 Enabled 属性:该属性是个布尔值量,用于激活定时器。若其值为True,则定时器每阁 一定的时间间隔,就触发一次 OnTimer 事件。 Interval 属性:该属性用于定义时间间隔,以毫秒为单位,默认值为 1000。若该属性为 0,则表示禁止定时器。 在 TabSheet5 中添加 1 个 GroupBox 组件, 1 个 Image 组件, 1 个Timer 组件和 2 个 Label 组件。其中的 Label 组件用于显示登录的用户名。 添加组件之后的才窗体如下图: 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 在 TabSheet5 的 OnShow 事件中添加如下代码: procedure TmainForm.TabSheet5Show(Sender: TObject); begin timer1.Enabled:=true; timer1.Interval:=50; image1.BringToFront; x:=image1.Height+20; if username=system then label25.Caption:=系统管理员 ; if username=renshi then label25.Caption:=人事部门员工 ; if username=caiwu then label25.Caption:=财务部门员工 ; tabsheet5.Repai

温馨提示

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

评论

0/150

提交评论