




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
吉林省明日科技有限公司监制人力资源管理系统学 院专 业班 级学 号姓 名指导教师教师职称年月日 2 摘要【摘要】企业全员参与人力资源管理(HRM),不同的人具有不同的角色权限,人力资源管理系统应该能够灵活有效的管理,体现多角色、多层次特色。不同的企业其人力资源管理业务与流程各不相同,随着管理要求的提高,人力资源管理软件需要具备人事业务流程的制订、修改、控制等操作。通过人力资源管理系统使得管理者快速高效地完成企业日常事务中的人事工作,降低了人力资源管理成本,使管理者能集中精力在企业战略目标;另一方面,通过软件及时收集与整理分析大量的人力资源管理数据,为企业战略决策的生成与实施控制提供强有力的支持,以提高组织目标实现的可能性。【关键词】 HRM 人力资源管理系统目录摘要10 引言1 系统分析1.1 需求分析1.2 可行性分析2 总体设计2.1 项目规划2.2 功能框图3 系统设计3.1 设计目标3.2 开发及运行环境3.3 数据库设计4 主要功能模块设计4.1 公共模块设计(Mdl_Link模块)4.2 主窗体设计4.3 系统登录设计4.4 新员工登记模块设计4.5 工资设置模块设计附录A 参考文献附录B 数据表附录C 文件架构图0 引言随着全球对知识和人才的重视,企业对人力资源管理重要性的认识逐渐深化,人才的全球化竞争使企业的人力资源管理面临前所未有的挑战。在新形势下,人力资源管理系统是一个企业单位不可缺少的部分,是适应现代企业制度,推动企业人力资源管理走向科学化、规范化、自动化的必要条件;是应对挑战、适应环境变化、提高企业管理效率、提升核心竞争力的关键措施。它所包含内容对于企业的决策者和管理者来说至关重要。目前市场上的人力资源系统很多,但要找到一款真正称心、符合公司实际情况的并不容易。由于存在这样那样的不足,使企业浪费了大量的人力、物力等大量资源,难以真正提升企业人力资源的管理水平,提高工作效率及降低管理成本的效果也不明显。因此,为了加快公司信息化的步伐,提高公司的管理水平,并在激烈的社会竞争中立于不败之地,建立及完善人力资源管理系统已变得十分必要和迫切。1 系统分析1.1 需求分析通过调查,要求系统具有以下功能:q 具有良好的操作界面。q 业务模块能够自由增加、修改及删除信息。q 建立数据库备份机制,并提供数据灾难恢复功能。q 支持数据的模糊查询机制。q 自动计算员工工资。q 自动生成员工工资报表。q 实现员工岗位调动操作。q 实现员工离职、复职操作。q 系统退出。1.2 可行性分析人力资源管理系统使用Delphi 7.0开发,它是当月前最为流行的可视化快速应用程序开发环境,对数据库有强大的支持。后台数据库使用SQL Server 2000数据库,以保证数据的安全和执行高效。2 总体设计2.1 项目规划人力资源管理系统是一个典型的数据库应用程序,由启动窗体、登录模块、系统主界面、系统管理模块、信息设置模块、人事管理模块、工资管理模块等组成,具体的功能模块如下:q 系统管理模块该模块的主要功能是单位信息、管理员设置、更改密码、重新登录。q 信息设置模块该模块主要功能是对部门信息、工种类型、职称类型、文化程度、政治面貌、民族类型、所得税设置、考勤设置等进行设置。q 人事管理人事管理模块主要功能是新员工登记、应聘登记、员工调动、员工离职、考核管理、合同管理、应聘信息浏览、员工信息浏览。q 工资管理工资管理模块主要是:设置员工的工资信息、生成工资报表、工资档案浏览。2.2 功能框图图1 功能框架图3 系统设计3.1 设计目标根据企业的需要和人力资源管理系统的特点,本系统实施后,应达到以下目标:q 使企业日常事务性的人事工作都可能通过人力资源管理软件得到快速高效的完成。q 降低人力资源成本。q 操作界面美观、标准、专业、统一,实施方法简单、方便。q 通过员工工资的自动计算功能,从而减轻工作人员的工作压力。q 通过数据备份及恢复功能,避免数据因意外而造成致命问题。3.2 开发及运行环境系统开发平台:Delphi 7.0。数据库管理系统软件:SQL Server 2000。运行平台:Windows xp/ Windows 2000。分辨率:最佳效果800*600。3.3 数据库设计本系统采用SQL Server 2000 数据库,系统数据库名为db_manpowerinfo,数据库db_manpowerinfo中包括18个数据表。下面分别给出数据库概要说明和数据表的结构。1数据表概要说明如图2所示的即为本系统中数据库中的数据表的树形结构图,该数据表树型结构图包含系统所有数据表。可以清晰地反应数据库信息。图2 数据表树树形结构图2数据表的结构由于篇幅所限,关于数据库中的数据表请参见附录B4 主要功能模块设计4.1 公共模块设计(Mdl_Link模块)数据模块窗体主要功能是统一管理数据库访问组件,数据模块如图3所示。图3 数据模块1设计步骤(1)在Delphi中选择“File”/“New”/“Data Module”菜单项,新建一个数据模块,命名为“Data1”。(2)在“ADO”组件页中点选“TADOConnection”组件,添加到窗体上,TADOConnection组件用到连接数据库,其它数据库组件通过它连接数据库。(3)点选ADOConnection1组件,在“Object Inspector”窗口中,单击ConnectionString属性右侧的【】按钮,弹出对话框如图4所示。图4 数据连接对话框(4)单击【Build】按钮,在弹出的对话框中的“提供程序”选项卡中设置希望连接的数据,如图5所示。图5 连接属性对话框(5)选择“连接”选项卡,设置连接相关设置,如图6所示。图6 连接属性对话框(6)单击【测试连接】按钮,如果连接成功,则提示成功,单击【确定】按钮完成数据库的连接。(7)在窗体上添加TADOQuery组件,设置Connection属性为“ADOConnection1”。4.2 主窗体设计主窗体中主要控制方式是通过菜单和工具栏按钮来调用子窗体,它的背景区由一幅图片填充。人力资源管理系统主窗体运行结果如图7所示。图7 人力资源管理系统主窗体1窗体设计步骤(1)运行Delphi7,会自动创建一个窗体,设置该窗体为程序主窗体,命名该窗体为“frm_main”,设置窗体的Caption属性为“人力资源管理系统”;WindowsStyle属性为“wsMaximized”。(2)在“Standard”组件页中点选“TMainMenu”组件,添加到窗体上,双击该组件进行菜单添加,如图8所示图8 主菜单设计(3)在“Win32”组件页中点选“TCoolBar”组件,添加到窗体上。(4)在“Win32”组件页中点选“TToolBar”组件,添加到TcoolBar组件上。(5)在“Additional”组件页中点选“TSpeenButton”组件,添加到TtoolBar组件上,设置Caption属性。(6)在“Win32”组件页中点选“TStatusBar”组件,添加到窗体上,双击该组件,为其添加项,如图9所示。图9 任务栏设计(7)在“Standard”组件页中点选“TPanel”组件,添加到窗体上,设置Bevellnner属性为“bvSpace”,设置BevelOuter属性为“bvLowered”,设置Align属性为“alClient”。(8)在“Additional”组件页中点选“TImage”组件,添加到Panel1组件上,设置Align属性为“AlClient”,设置Stretch属性为“Tree”。(9)在“Dialog”组件页中 分别选择“TOpenDialog”和“TSaveDialog”组件,依次添加到窗体上。2程序相关代码在窗体的OnClose事件中设置,当窗体在关闭之前执行,主要功能是退出窗体。代码如下:procedure Tfrm_main.FormClose(Sender: TObject; var Action: TCloseAction);begin if messagebox(self.Handle,真的要退出系统吗?,人力资源管理系统,mb_yesno+mb_iconquestion)=idyes then application.Terminate;end;在窗体的OnShow事件增加,并当窗体首次启动时动态创建登录窗体,代码如下:procedure Tfrm_main.FormShow(Sender: TObject);begin log:=0; /区分新员工登记窗体是为登记状态还是修改状态application.CreateForm(Tfrm_login,frm_login); /创建窗体frm_login.ShowModal; /显示窗体frm_login.free; /释放窗体end;通过主菜单下【记事本】按钮调用记事本,单击事件代码如下:procedure Tfrm_main.N57Click(Sender: TObject);begin ShellExecute(handle,open,notepad.exe,Nil,Nil,SW_SHOWNORMAL);end;【数据备份】按钮的作用是通过保存对话框对数据库进行备份,该按钮的单击事件代码如下:procedure Tfrm_main.SpeedButton4Click(Sender: TObject);varsave:string;beginsavedialog1.Filter:=备份文件(*.bak)|*.bak; /设置文件过滤savedialog1.Title:=请选择备份路径; /设置打开对话框的标题if savedialog1.Execute then begin save:=savedialog1.FileName; end;if save then begin with data1.ADOpublic do begin try screen.Cursor:=crHourGlass; /改变鼠标指针的形状为沙漏形 close; sql.Clear; sql.Add( BACKUP DATABASE +db_manpowerinfo+ TO DISK = +save+); execsql; screen.Cursor:=crdefault; /设置鼠标指针为默认状 application.MessageBox(数据备份成功,提示,0+64); except screen.Cursor:=crdefault; application.MessageBox(数据库备份失败,请检查备份的路径或网络状态!,数据库备份,0+mb_iconinformation); end; end; end;end;4.3 系统登录设计系统登录主要用于对进入人力资源管理系统的用户进行安全性检查,阻止非法用户进入该系统。验证操作员及其密码,主要通过记录集结果(RecordCount)结合If语句判断用户选定的操作员及其输入的密码是否符合数据库中的操作员和密码,如果符合则允许登录,否则提示用户用户名或密码不正确,如果错误超过三次,强行退出。图10 系统登录模块1窗体设计步骤(1)新建一个窗,命名为“frm_Login”,设置Caption属性为“登录”,设置Position属性为“poScreenCenter”。(2)在“Additional”组件页中点选“TImage”组件,添加到窗体上,设置Align属性为“alClient”;Stretch属性为“Tree”,在Pictuer属性中添加图片。(3)在“Standard”组件页中点选“TEdit”组件,添加到窗体上,设置Ctl3D属性为“False”;设置Text属性为空,设置Edir2的PasswordChar属性为“*”。(4)在“Additional”组件页中点选“TSpeedButton”组件,添加到窗体上,设置Caption属性分别为“登录”和“取消”;设置Flat属性为“True”。2程序相关代码对进入人力资源管理系统的用户进行安全检验,执行安全检验过程代码如下:procedure Tfrm_login.plogin;/自定义函数过程begin with Data1.ADOlogin do begin close; sql.Clear; sql.Add(select * from 操作员信息表 where 操作员名称 = :a and 操作员密码 = :b); /使用SQL语句检索数据表中的用户名和密码 parameters.ParamByName(a).Value:=trim(edit1.Text); parameters.ParamByName(b).Value:=trim(edit2.Text); open; end; if Data1.ADOlogin.RecordCount0 then /判断用户名和密码是否存在 begin /用户名和密码存在时执行以下代码 czy:=data1.ADOlogin.FieldByName(操作员名称).Value; s:=true; /使s的值为true,以免重新登陆时出现错误 frm_main.StatusBar1.Panels1.Text:=czy; /在状态栏上显示当前用户名 frm_main.statusbar1.Panels3.Text:=datetostr(date(); frm_main.statusbar1.Panels5.Text:=timetostr(time(); close; end else /用户名和密码不存在时执行以下代码 if m3 then /限制密码错误不能超过三资 begin application.MessageBox(用户名或密码错误,请重新输入!,提示,64); edit1.Clear; /清除编缉框中的内容 edit2.Clear; edit1.SetFocus; end else /当密码错误三次时强行退出 begin application.MessageBox(您无权使用本系统!,提示,64); Application.Terminate; end;end;在【确定】按钮的单击事件中添加如下代码:procedure Tfrm_Login.Button1Click(Sender: TObject);beginm:=m+1; /记录单击的次数,用来判断输入错误的次数if edit1.Text= then /判断是否输入用户名 application.MessageBox(请输入用户名,提示,64)else if edit2.Text= then /判断是否输入密码 application.MessageBox(请输入密码,提示,64) else plogin; /执行自定义函数end;在Edti2的OnKeyDown事件中添加如下代码,通过键盘操作获得焦点:procedure Tfrm_Login.Edit2KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);begin if (Key = vk_Return) or(Key = vk_Down) then Button1Click(Sender) /当按下回键或时,按执行Button1的OnClick事件 else Edit2.SetFocus; if Key = vk_Up then Edit1.SetFocus; /当按下方向键时,使Edit1获得焦点end;end;4.4 新员工登记模块设计新员工登记模块,主要用于添加、修改新员工的个人基本信息,如:姓名、性别、民族、文化程度等。新员工登记模块运行结果如图11所示。图11 新员工登记模块1窗体设计步骤(1)新建一个窗体,命名为“frm_xygdj”,设置Caption属性为“新员工登记”,设置Position属性为“poScreenCenter”。(2)在窗体中添加“TPanel”组件、“TGroupBox”组件、“TEdit”组件、“TCombobox” 组件、“TLabel”组件、“TMaskEdit”组件、“TMemo”组件、“TBitbtn”组件、“TImage”组件,设置属性如表1所示。表1 主要组件属性设置组件名称所在组件页属性值Panel1StandardAlignBevellnnerBevelOuteralClientbvSpacebvLoweredPanel2StandardAlignBevellnnerBevelOuteralNonebvSpacebvLoweredPanel3StandardAlignBevellnnerBevelOuteralNonebvSpacebvLoweredGroupbox1StandardCaption基本信息Groupbox2StandardCaption其它信息MaskEditAdditionalCtl3DEditMaskFalse!9999/99/00;1;_ImageAdditionalAlignStretchalClientTure2程序相关代码【添加照片】按钮,主要是通过打开对话框在电脑中选择员工的照片并添加在TImage组件的Pictuer属性中,该按钮的单击事件代码如下:procedure Tfrm_xygdj.Button1Click(Sender: TObject);beginopendialog1.Title:=选择照片;if opendialog1.Execute then image1.Picture.LoadFromFile(opendialog1.FileName);end;在一个企业里,难免会有重名的员工,所以姓名不能做为员工的惟一标识,那么如果用员工编号来做惟一标识,就可以解决这个问题了。单击【添加】按钮自动生成员工编号。代码如下:procedure Tfrm_xygdj.BitBtn2Click(Sender: TObject);vars,m:string;n:integer;begins:=mr;/给s赋一个初值With data1.ADOpublic do begin Close; SQL.Clear; SQL.Add(select max(bh) as ss From 人事表 ); /查询数据库中员工编号的最大值 Open;end;If data1.ADOpublic.FieldByName(ss).Value = null then /判断查询结果 s :=s+001 /结果为空说明数据库为空,编号从001开始 else begin m:= Trim(data1.ADOpublic.FieldByName(ss).Value); /将查找到的最从值赋给m n:= StrToInt(copy(m,4,2); /复制m的值并转换成整数型数据赋给n if n9 then s:= s+00+ InttoStr(n +1) else if n99 then s:=s+0+ InttoStr(n +1) else s:= s+InttoStr(n +1); end; edit1.Text:=s;end;【保存】按钮的功能主要是通过Insert语句向数据库中添加数据,该按钮的单击事件代码如下:procedure Tfrm_xygdj.BitBtn1Click(Sender: TObject);begintrywith 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); /向人事表中插入数据 parameters.ParamByName(a).Value:=trim(edit1.Text); /插入编号 parameters.ParamByName(b).Value:=trim(edit2.Text); /插入姓名 parameters.ParamByName(c).Value:=trim(combobox8.Text); /插入性别 parameters.ParamByName(d).Value:=trim(edit10.Text); /插入身份证号 parameters.ParamByName(e).Value:=strtodate(maskedit3.Text); /生日 parameters.ParamByName(f).Value:=trim(combobox1.Text); /插入民族 parameters.ParamByName(g).Value:=trim(combobox7.Text); /插入婚姻状况 parameters.ParamByName(h).Value:=trim(combobox2.Text); /插入政治面貌 parameters.ParamByName(i).Value:=trim(edit5.Text); /插入籍贯 parameters.ParamByName(j).Value:=maskedit4.Text; /插入联系电话 parameters.ParamByName(k).Value:=trim(edit9.Text); /插入手机号码 parameters.ParamByName(l).Value:=trim(edit13.Text); /插入电子邮箱 parameters.ParamByName(m).Value:=trim(edit12.Text); /插入家庭地址 parameters.ParamByName(n).Value:=trim(edit6.Text); /插入毕业院校 parameters.ParamByName(o).Value:=trim(edit7.Text); /插入专业 parameters.ParamByName(p).Value:=trim(combobox9.Text); /插入文化程度 parameters.ParamByName(q).Value:=trim(edit8.Text); /插入特长 parameters.ParamByName(r).Value:=trim(maskedit5.Text); /参加工作时间 parameters.ParamByName(s).Value:=i; /插入工龄 parameters.ParamByName(t).Assign(image1.Picture.Bitmap); /插入照片 parameters.ParamByName(u).Value:=trim(combobox4.Text); /插入所属部门 parameters.ParamByName(v).Value:=trim(combobox3.Text); /插入工种 parameters.ParamByName(w).Value:=trim(combobox5.Text); /插入职务 parameters.ParamByName(x).Value:=trim(combobox6.Text); /插入职称 parameters.ParamByName(y).Value:=strtodate(maskedit1.Text); /调入时间 parameters.ParamByName(z).Value:=memo1.Text; /插入简历 parameters.ParamByName(aa).Value:=strtodate(maskedit2.Text); /登记日期 parameters.ParamByName(ab).Value:=trim(edit16.Text); /插入登记人 parameters.ParamByName(ac).Value:=否; /插入是否离职 parameters.ParamByName(ad).Value:=null; /离职日期 parameters.ParamByName(ae).Value:=null; /复职日期 parameters.ParamByName(af).Value:=null; /离职复员登记人 execsql end; editclear; /执行自定义的清除函数 application.MessageBox(保存成功!,提示,64);except application.MessageBox(系统出错!,提示,64);end;end;【修改】按钮的功能主要是对当前数据做出修改,该按钮的单击事件代码如下:procedure Tfrm_xygdj.BitBtn5Click(Sender: TObject);beginif messagebox(self.Handle,确定要修改吗?,提示,mb_yesno+mb_iconquestion)= idyes thenbegintrywith data1.ADOQuery1 do begin edit; fieldbyname(bh).Value:=trim(edit1.Text); fieldbyname(xm).Value:=trim(edit2.Text); fieldbyname(mz).Value:=trim(combobox1.Text); fieldbyname(xb).Value:=trim(combobox8.Text); fieldbyname(csrq).Value:=trim(maskedit3.Text); fieldbyname(hyzk).Value:=trim(combobox7.Text); fieldbyname(whcd).Value:=trim(combobox9.Text); fieldbyname(zzmm).Value:=trim(combobox2.Text); fieldbyname(byyx).Value:=trim(edit6.Text); fieldbyname(zy).Value:=trim(edit7.Text); fieldbyname(tc).Value:=trim(edit8.Text); fieldbyname(dzyx).Value:=trim(edit13.Text); fieldbyname(lxdh).Value:=trim(maskedit4.Text); fieldbyname(sjhm).Value:=trim(edit9.Text); fieldbyname(jg).Value:=trim(edit5.Text); fieldbyname(sfzh).Value:=trim(edit10.Text); fieldbyname(jtdz).Value:=trim(edit12.Text); fieldbyname(cjgzsj).Value:=trim(maskedit5.Text); fieldbyname(gz).Value:=trim(combobox3.Text); fieldbyname(gl).Value:=trim(edit15.Text); fieldbyname(ssbm).Value:=trim(combobox4.Text); fieldbyname(zw).Value:=trim(combobox5.Text); fieldbyname(zc).Value:=trim(combobox6.Text); fieldbyname(djrq).Value:=trim(maskedit2.Text); fieldbyname(djr).Value:=trim(edit16.Text); fieldbyname(drsj).Value:=trim(maskedit1.Text); fieldbyname(jl).Value:=trim(memo1.Text); fieldbyname(zp).Assign(image1.Picture.Bitmap); post; end; application.MessageBox(修改成功,提示,64);except application.MessageBox(修改失败,提示,64);end; close;end;end;在编辑框的OnChange事件中添加如下代码,用来控制保存按钮的使用,如果没有完全填写信息,【保存】按钮不可用。procedure Tfrm_xygdj.Edit1Change(Sender: TObject);beginif (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) thenbitbtn1.Enabled:=trueelsebitbtn1.Enabled:=false;end;在窗体的OnCreate事件中添加如下代码,用来判断当前操作:rocedure Tfrm_xygdj.FormCreate(Sender: TObject);begin if frm_main.log=1 then/log=1为修改状态beginfrm_xygdj.BitBtn1.Visible:=false; frm_xygdj.BitBtn6.Left:=frm_xygdj.BitBtn1.Left;frm_xygdj.BitBtn6.Top:=frm_xygdj.BitBtn1.Top;frm_xygdj.BitBtn6.Visible:=true;combobox1.Clear;combobox2.Clear;combobox3.Clear;combobox4.Clear;combobox5.Clear;combobox6.Clear;frm_xygdj.Caption:=员工信息修改;frm_ygxill.editvalue;BitBtn2.Enabled:=false;BitBtn4.Enabled:=false;BitBtn5.Enabled:=true;endelseif frm_main.log=2 then /log=2时为在应聘信息中调用此窗体beginBitBtn2.Click;Edit2.Text:=frm_yp.edit2.Text;ComboBox8.Text:=frm_bobox2.Text;ComboBox1.Text:=frm_yp.ComboBox1.Text;ComboBox9.Text:=frm_bobox3.Text;MaskEdit3.Text:=frm_yp.maskedit1.Text;Edit13.Text:=frm_yp.edit7.Text;Edit6.Text:=frm_yp.edit11.Text;Edit7.Text:=frm_yp.edit12.Text;Edit8.Text:=frm_yp.edit8.Text;end;end;在窗体的OnShow事件中添加如下代码,用来向下拉列表框(TCombobox)组件添加数据表中的数据,代码如下:procedure Tfrm_xygdj.FormShow(Sender: TObject);begincombobox1.Clear; /清除combobox中Items中的内容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;4.5 工资设置模块设计工资设置模块主要用于设置员工的工资信息,此窗体中主要应用的也是基本的SQL语句Insert向数据中插入数据。工资设置模块运行结果如图12所示。图12 工资设置模块1窗体设计步骤(1)新建一个窗体,命名为“frm_gzsz”,设置Caption属性为“工资设置”,设置Position属性为“poScreenCenter”。(2)在“Standard”组件页中点选“TPanel”组件,在窗体上添加3个TPanel组件,分别命名为“Panel1”、“Panel2”、“Panel3”,设置Bevellnner属性为“bvSpace”;BevelOuter属性为“bvLowered”,分别设置Align属性为“alClient”、“alTop”、“alClient”。(3)在“Standard”组件页中点选“TGroupBox”组件,在Panel2组件上添加2个TGroupBox组件,设置Caption属性为“工资设置”和“保险设置”。(4)在“Standard”组件页中点选“TLabel”组件,添加到GroupBox1和GroupBox2组件上,按上图所示设置Caption属性。(5)在“Standard”组件页中点选“TEdit”组件,添加到GroupBox1和GroupBox2组件上,设置Ctl3D属性为“False”,设置Text属性为空。(6)在“Standard”组件页中点选“TCombobox”组件,添加到GroupBox1组件上,设置Text属性为空。(7)在“Standard”组件页中点选“TCheckBox”组件,添加到Panel2组件上,设置Caption属性为“设置保险”。(8)在“Additional”组件页中点选“TBitBtn”组件,在Panel2组件上添加4个TBitBtn组件,设置Caption属性分别为“保存”、“修改”、“删除”、“退出”,通过Glyph属性为按钮添加图片。(9)在“DataAccess”组件页中点选“TDataSource”组件,添加到窗体上,设置DataSet属性为“Data1.ADOQYgzsz”。(10)在“DataControls”组件页中点选“TDBGrid”组件,添加到Panel3组件上,设置Align属性为“alClient”,DataSource属性为“DataSource1”。2程序相关代码下面来实现在“员工编号”的下拉列表框中选择编号后员工姓名的列表框中自动变为相对应的姓名,在Combobox1的OnChange事件中添加如下代码:procedure Tfrm_gzsz.ComboBox1Change(Sender: TObject);beginwith data1.ADOpublic do begin close; sql.Clear; sql.Add(select * from 人事表 where 编号=:a); parameters.ParamByName(a).Value:=combobox1.Text; open; end;combobox2.Text:=data1.ADOpublic.FieldByName(姓名).Value;end;下面来实现通过输入工资来对所要缴纳的个人所得税的级别来进行判断,在Edit1的OnChange事件中添加如下代码:procedure Tfrm_gzsz.Edit1Change(Sender: TObject);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 旅游民宿退房协议范本及清洁维护标准
- 理发店员工招聘与职业规划辅导劳务合作合同
- 跨学科研究生委托培养与技术转移转化合同范本
- 产业园区物业合同终止及产业创新服务协议
- 建筑工程合同审计与财务管理要点解析
- 企业核心技术人员竞业禁止补偿标准合同范本
- 离婚后共同财产分割与同居期间居住权益协议范本
- 签订国际贸易合同时的汇率风险管理与法律应对
- 离婚财产分割补充协议涉及遗产继承权与分割调整
- 通信工程施工合同签订所需的技术标准及通信保障协议
- 监控维修培训
- 中医基础理论经络培训课件
- 亚麻籽油在营养保健领域的应用考核试卷
- 《雷军的管理哲学》课件
- 尿液标本临床微生物实验室检验操作指南
- 电影《白日梦想家》课件
- 正常人体结构课程标准
- 员工上下班交通安全培训课件
- GB/T 15843.2-2024网络安全技术实体鉴别第2部分:采用鉴别式加密的机制
- 初中语文八年级上册13 唐诗五首 《钱塘湖春行》活动式公开课一等奖创新教学设计
- 职业技能大赛-电工职业技能竞赛理论题库(附参考答案)
评论
0/150
提交评论