鉴于大家对DELPHI类作品十分关注,我们编辑小组在此为大家搜集整理了“DELHI公司人事管理系统”一文,供大家参考学习!
客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4.2.3 新员工登记模块设计 新员工登记模块,主要用于添加、修改新员工的个人基本信息,如:姓名、性别、民族、文化程度等。新员工登记模块运行结果如图8所示。 图8 新员工登记模块 此模块设计如下: (1)新建一个窗体,命名为“frm_xygdj”,设置Caption属性为“新员工登记”,设置Position属性为“poScreenCenter”。 (2)在窗体中添加“TPanel”组件、“TGroupBox”组件、“TEdit”组件、“TCombobox” 组件、“TLabel”组件、“TMaskEdit”组件、“TMemo”组件、“TBitbtn”组件、“TImage”组件,设置属性如表5所示。 表5 主要组件属性设置
此模块调用数据模块中的ADOquery组件连接数据库中的人事表。 “保存”按钮的功能主要是通过Insert语句向数据库中插入和添加数据,这段Insert语句如下: with data1.ADOQYygxx do begin close; sql.Clear; sql.Add(''insert 人事表 values (:a,:b,:c,:d,:e,:f,:g,:h,:i,:j,:k,:l,:m,:n,:o,:p,:q,:r,:s,:t,:u,:v,:w,:x,:y,:z,:aa,:ab,:ac,:ad,:ae,:af)''); 这里需要注意的是在“insert 人事表 values”后面的括号中的项目数要与数据表中的字段数目相同,因为这是向数据表中依次插入数据,如果不相同就会出错。 在编辑框的OnChange事件中添加如下代码,用来控制保存按钮的使用,如果没有完全填写信息,bitbtn的Enabled属性就设置为false,则设置【保存】按钮不可用。这部分判断输入是否为空的实现如下: procedure Tfrm_xygdj.Edit1Change(Sender: TObject); begin if (edit1.Text<>'''') and (edit2.Text<>'''') and (edit5.Text<>'''') and (edit6.Text<>'''') and(edit7.Text<>'''') and (edit8.Text<>'''') and (edit9.Text<>'''') and (edit10.Text<>'''') and(edit12.Text<>'''') and (edit13.Text<>'''') and (edit15.Text<>'''') and (edit16.Text<>'''') and(combobox1.Text<>'''') and (combobox2.Text<>'''') and (combobox3.Text<>'''') and (combobox4.Text<>'''') and(combobox5.Text<>'''') and (combobox6.Text<>'''') and (combobox7.Text<>'''') and (combobox8.Text<>'''') and(combobox9.Text<>'''') and (combobox1.Text<>'''') and (maskedit1.Text<>'''') and (maskedit2.Text<>'''') and (maskedit3.Text<>'''') and (maskedit4.Text<>'''') and (maskedit5.Text<>'''') then bitbtn1.Enabled:=true else bitbtn1.Enabled:=false; end; 在窗体的OnShow事件中添加如下代码,用来向下拉列表框(TCombobox)组件添加数据表中的数据,为了避免下拉列表框中出现重复,这里用了select distinct语句,以民族为例。 with data1.ADOpublic do begin close; sql.Clear; sql.Add(''select distinct 民族 from 民族表''); open; end; while Not Data1.ADOpublic.Eof do //在不是最后一条记录时进行循环 begin ComboBox1.Items.Add(Data1.ADOpublic.FieldByName(''民族'').Value); Data1.ADOpublic.Next; //将指针指向下一条记录 end; 此模块中的,婚姻状况、文化程度等所有下拉列表框的实现都是这样,这里不再重复。 在一个企业里,难免会用重名的员工,所以姓名不能作为员工的唯一标识,那么如果用员工编号来做唯一标识,就可以解决这个问题了。人为的编号也难免会出错,所以在这里我们设置单击“添加”按钮自动生成员工编号。 这个功能实现,首先需要使用select语句在人事表中找到最大的编号,实现如下: begin Close; SQL.Clear; SQL.Add(''select max(bh) as ss From 人事表 ''); Open; end; 当然,如果是第一次添加新员工,返回值为空时,编号就由001开始编排。 If data1.ADOpublic.FieldByName(''ss'').Value = null then s :=’mr’+''001'' 如果不为空就需要分情况进行处理,这里实现代码如下: m:= Trim(data1.ADOpublic.FieldByName(''ss'').Value) ; n:= StrToInt(copy(m,4,2)) ;//将m的值从第4位取2位变为整形 if n<9 then s:= s+''00''+ InttoStr(n +1) else if n<99 then s:=s+''0''+ InttoStr(n +1) else s:= s+InttoStr(n +1); 这样就有效的避免了人为操作的输入失误。 4.2.4 工资设置模块设计 工资设置模块主要用于设置员工的工资信息,此窗体中主要应用的也是基本的SQL语句Insert向数据中插入数据。工资设置模块运行结果如图9所示。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
本文选自计算机毕业设计http://myeducs.cn |