rim(userinfo.username)=alltrim(thisform.txt用户名.value)
&&查找用户名
iffound()
ifalltrim(userinfo.passwd)==alltrim(thisform.txt密码.value)
ccuruser=alltrim(userinfo.username)
thisform.release
doformmainform
else
ifi<3
messagebox("密码错误,请重新输入",48,"企业人事管理系统")
thisform.txt用户名.value=""
thisform.txt密码.value=""
thisform.txt用户名.setfocus
else
messagebox("用户名或者密码错误3次,系统无法启动",48,"企业人事管理系统")
thisform.release
clearevents
quit
endif
endif
else
ifi<3
messagebox("用户名不存在,请重新输入",48,"企业人事管理系统")
thisform.txt用户名.value=""
thisform.txt密码.value=""
thisform.txt用户名.setfocus
else
messagebox("用户名或者密码错误3次,系统无法启动",48,"企业人事管理系统")
thisform.release
clearevents
quit
endif
endif
setexactoff&&关闭精确查找
thisform.release
"系统登录"的[退出]按钮功能是当单击时退出系统登录并且退出系统。退出按钮click代码如下:
localyn
yn=messagebox("确定退出",4+32,"企业人事管理系统")
ifyn=6
thisform.release
clearevents
quit
endif
3.3人员信息管理
用户进入主页面后单击人员信息管理按钮,则可以进入人员信息管理的界面。通过这个界面可以完成人员信息的录入、修改、删除等功能。人员信息管理界面如下:
图5人员管理界面
1.表单设计
根据图片上的添加一个表单命名:eptinfo,在表单上添加一个表格控件grid1,若干label,若干txt控件,6个command控件。并且添加两个自定义的属性:bmodify和rec,其中bmodify属性用来设置表单控件中的"rdonly"或者"enabled"等属性。Rec属性则用来保存表格控件中"员工信息"表中的记录指针位置。在表单中添加一个自定义方法"rdonly",这个方法根据自定义属性"bmodify"的值来设置表单中的控件的状态。而且需要在表单中添加ryxx数据表,如图6:
图6添加数据表
重要控件属性:
表9重要控件属性
控件名
属性
值
eptinfo
Autocenter
.t.
Caption
人员信息管理
Showwindow
1-在顶层表单中
Cmdnew
Caption
新建
Tooltiptext
增加新的员工
Cmddel
Caption
删除
Tooltiptext
删除当前员工
Cmdmodify
Caption
修改
Tooltiptext
修改员工信息
Cmdsave
Caption
保存
Default
.t.
Tooltiptext
保存对记录的修改
Cmdcancel
Caption
取消
Cancel
.t.
Tooltiptext
取消对记录的修改
Cmdexit
Caption
退出
Tooltiptext
退出当前表单
Txt职员编号
Controlsource
Ygxx.职员编号
Txt姓名
Controlsource
Ygxx.姓名
Txt姓名简码
Controlsource
Ygxx.姓名简码
Txt出生日期
Controlsource
Ygxx.出生日期
Txt民族
Controlsource
Ygxx.民族
Txt籍贯
Controlsource
Ygxx.籍贯
Txt文化程度
Controlsource
Ygxx.文化程度
Txt毕业学校
Controlsource
Ygxx.毕业学校
Txt婚姻状况
Controlsource
Ygxx.婚姻状况
Txt身份证号码
Controlsource
Ygxx.身份证号码
Txt办公电话
Controlsource
Ygxx.办公电话
Txt手机
Controlsource
Ygxx.手机
Txt电子邮件
Controlsource
Ygxx.电子邮件
Txt职工账号
Controlsource
Ygxx.职工账号
Txt所属部门
Controlsource
Ygxx.所属部门
Txt入职时间
Controlsource
Ygxx.入职时间
Txt职务
Controlsource
Ygxx.职务
Txt职称
Controlsource
Ygxx.职称
Txt备注
Controlsource
Ygxx.备注
2.代码设计
在表单初始化时需要在表单的init事件添加代码:
thisform.bmodify=.t.&&设置条件
thisform.grid1.readonly=.t.&&设置表格控件为只读
thisform.rdonly&&设置各个空间的只读和可见属性
thisform.refresh&&刷新表单
在表单中自定义的方法rdonly添加代码:
bmodify=thisform.bmodify&&一个bmodify变量
&&设置txt控件的只读特性
thisform.txt职员编号.readonly=bmodify
thisform.txt姓名.readonly=bmodify
thisform.txt姓名简码.readonly=bmodify
thisform.txt出生日期.readonly=bmodify
thisform.txt籍贯.readonly=bmodify
thisform.txt文化程度.readonly=bmodify
thisform.txt毕业学校.readonly=bmodify
thisform.txt婚姻状况.readonly=bmodify
thisform.txt身份证号码.readonly=bmodify
thisform.txt办公电话.readonly=bmodify
thisform.txt手机.readonly=bmodify
thisform.txt电子邮件.readonly=bmodify
thisform.txt职工账号.readonly=bmodify
thisform.txt备注.readonly=bmodify
thisform.txt所属部门.readonly=bmodify
thisform.txt入职时间.readonly=bmodify
thisform.txt职务.readonly=bmodify
thisform.txt职称.readonly=bmodify
thisform.cmb性别.enabled=!bmodify
thisform.cmb民族.enabled=!bmodify
thisform.grid1.enabled=bmodify
&&设置命令按钮的可用性
thisform.cmdnew.enabled=bmodify
thisform.cmdmodify.enabled=bmodify
thisform.cmddel.enabled=bmodify
thisform.cmdsave.enabled=!bmodify
thisform.cmdcancel.enabled=!bmodify
thisform.cmdexit.enabled=bmodify
thisform.refresh
所有的信息是要通过表单控件来显示。所以要在grid1的afterrowcolchange的事件添加代码:
LPARAMETERSnColIndex
selectygxx&&选择ygxx表单
thisform.rec=recno()&&记录指针存在rec属性中
gorecno()&&指针指向当前指针
thisform.refresh&&表单刷新
在按钮[新建]的click事件中添加代码:
selectygxx&&选择ygxx表单
gobottom&&指针指向表尾
appendblank&&增加一个空记录
thisform.bmodify=.f.&&设置控件的只读标记
thisform.rdonly&&刷新控件的只读性
thisform.refresh&&整个表单刷新
在按钮[修改]的click事件中添加代码:
thisform.bmodify=.f.&&设置控件的制度标记
thisform.rdonly&&设置空间的只读
thisform.refresh&&整个表单刷新
在按钮[删除]的click事件中添加代码:
yn=messagebox("确定删除",4+32,"企业人事管理系统")
ifyn==6
selectygxx&&选择ygxx表单
delete&&标记要删除的记录
thisform.grid1.recordsource=null
pack&&删除记录
thisform.grid1.recordsource="ygxx"
ifeof()&&没有到表尾,则向上移一个记录
skip-1
else
ifbof()&&到表头,则向下移一个记录
skip
endif
endif
thisform.refresh
endif
在按钮[取消]的click事件中添加代码:
yn=messagebox("确定取消",4+32,"企业人事管理系统")
ifyn=6
tablerevert(.f.)
thisform.bmodify=.t.
thisform.rdonly
thisform.refresh
endif
在按钮[保存]的click事件中添加代码:
localok
ok=.t.
docase
caseempty(alltrim(thisform.txt职员编号.value))
messagebox("职员编号不能为空",48,"企业人事管理系统")
thisform.txt职工编号.setfocus
ok=.f.
caseempty(alltrim(thisform.txt姓名.value))
messagebox("姓名不能为空",48,"企业人事管理系统")
thisform.txt姓名.setfocus
ok=.f.
caseempty(alltrim(thisform.cmb性别.value))
messagebox("性别不能为空",48,"企业人事管理系统")
thisform.cmb性别.setfocus
ok=.f.
endcase
ifok==.t.
yn=messagebox("确定保存",4+32,"企业人事管理系统")
ifyn==6
iftableupdate(.f.)=.f.
messagebox("无法保存",48,"企业人事管理系统")
return
endif
thisform.bmodify=.t.
thisform.rdonly
thisform.refresh
endif
endif
在按钮[退出]的click事件中添加代码:
localyn
yn=messagebox("确定退出",4+32,"企业人事管理系统")
ifyn==6
thisform.release
endif
3.4人员培训管理
用户进入主页面后单击人员培训管理按钮,则可以进入人员培训管理的界面。通过这个界面可以完成人员培训信息的录入、修改、删除等功能。人员信息管理界面如下:
图7人员培训管理界面
1.表单设计
建立一个表单rypx,在表单中添加表格空间和若干txt控件和label空间。6个按钮空间。在表单中添加自定义方法rdonly,自定义bmodify和rec属性。其作用与人员信息的中的作用一致。
2.重要控件属性
表10重要控件属性
控件名
属性
值
rypx
Autocenter
.t.
Caption
人员培训管理
Showwindow
1-在顶层表单中
Cmdnew
Caption
新建
Tooltiptext
增加新的记录
Cmddel
Caption
删除
Tooltiptext
删除当前记录
Cmdmodify
Caption
修改
Tooltiptext
修改记录信息
Cmdsave
Caption
保存
Default
.t.
Tooltiptext
保存对记录的修改
Cmdcancel
Caption
取消
Cancel
.t.
Tooltiptext
取消对记录的修改
Cmdexit
Caption
退出
Tooltiptext
退出当前表单
Txt职员编号
Controlsource
rypx.职员编号
Txt姓名
Controlsource
Ygxx.姓名
Txt培训主题
Controlsource
Rypx.培训主题
Txt培训性质
Controlsource
Rypx.培训性质
Txt开始时间
Controlsource
Rypx.开始时间
Txt结束时间
Controlsource
Rypx.结束时间
Txt培训地点
Controlsource
Rypx.培训地点
Txt培训师
Controlsource
Rypx.培训师
Txt培训结果
Controlsource
Rypx.培训结果
Txt性别
Controlsource
Rypx.性别
3.代码设计
在表单初始化的时候添加init的事件中添加:
thisform.grid1.readonly=.t.
thisform.bmodify=.t.
thisform.rdonly
thisform.refresh
在表单的自定义方法Rdonly中添加代码:
bmodify=thisform.bmodify
thisform.txt职员编号.readonly=bmodify
thisform.txt开始日期.readonly=bmodify
thisform.txt结束日期.readonly=bmodify
thisform.txt培训师.readonly=bmodify
thisform.txt培训地点.readonly=bmodify
thisform.txt培训主题.readonly=bmodify
thisform.txt培训结果.readonly=bmodify
thisform.cmb培训性质.readonly=bmodify
thisform.txt姓名.readonly=.t.
thisform.txt性别.readonly=.t.
thisform.grid1.enabled=bmodify
thisform.cmdnew.enabled=bmodify
thisform.cmdmodify.enabled=bmodify
thisform.cmddel.enabled=bmodify
thisform.cmdsave.enabled=!bmodify
thisform.cmdcancel.enabled=!bmodify
thisform.cmdexit.enabled=bmodify
thisform.refresh
在表单中按钮[新建]中的click事件中添加:
selectrypx
gobottom
appendblank
thisform.bmodify=.f.
thisform.rdonly
thisform.txt职员编号.setfocus
thisform.refresh
在表单中按钮[修改]中的click事件中添加:
thisform.bmodify=.f.
thisform.rdonly
thisform.refresh
在表单中按钮[删除]中的click事件中添加:
yn=messagebox("确定删除",4+32,"企业人事管理系统")
ifyn==6
selectrydd
delete
thisform.grid1.recordsource=null
pack
thisform.grid1.recordsource="rydd"
ifeof()
skip-1
else
ifbof()
skip
endif
endif
thisform.refresh
endif
在表单中按钮[保存]中的click事件中添加:
localok
ok=.t.
ifok=.t.
yn=messagebox("确定保存",4+32,"企业人事管理系统")
ifyn==6
iftableupdate(.f.)=.f.
messagebox("无法保存",48,"企业人事管理系统")
return
endif
thisform.bmodify=.t.
thisform.rdonly
thisform.refresh
endif
endif
在表单中按钮[取消]中的click事件中添加:
yn=messagebox("确定取消",4+32,"企业人事管理系统")
ifyn==6
tablerevert(.f.)
thisform.bmodify=.t.
thisform.rdonly
thisform.refresh
endif
在菜单中按钮[退出]中的click事件中添加:
yn=messagebox("确定退出",4+32,"企业人事管理系统")
ifyn==6
thisform.release
endif
另外由于是表单中包含两个表,所以要根据职员编号来关联显示另外一个表的姓名和性别。所以要在根据txt职员编号来判断输入的职员编号是否存在与ryxx中的职员编号,所以要在txt职员编号的valid事件中添加:
selectygxx
*从基本信息表中查找是否存在这个职员编号
locateforalltrim(ygxx.职员编号)==alltrim(thisform.txt职员编号.value)
iffound()
thisform.txt姓名.value=ygxx.姓名
thisform.txt性别.value=ygxx.性别
thisform.txt所属部门.value=ygxx.所属部门
thisform.txt职务.value=ygxx.职务
else
messagebox("职员编号不存在",48,"企业人事管理系统")
thisform.refresh
endif
selectrydd
所有的信息都是通过表格控件的来显示和控制。所以在表格的afterrowcolchange的添加代码:
LPARAMETERSnColIndex
selectrypx
thisform.rec=recno()
gorecno()
thisform.refresh
selectygxx
locateforalltrim(ygxx.职员编号)==alltrim(thisform.txt职员编号.value)
iffound()
thisform.txt姓名.value=ygxx.姓名
thisform.txt性别.value=ygxx.性别
thisform.refresh
endif
3.5人员奖惩管理
通过主页面的按钮可以进入人员奖惩管理表单。通过这个界面可以完成人员奖惩信息的录入、修改、删除等功能。人员奖惩管理界面如下:
图8人员奖惩管理
1.表单设计
与人员培训管理表单一样。建立一个表单ryjc,在表单中添加表格空间和若干txt控件和label空间。6个按钮空间。在表单中添加自定义方法rdonly,自定义bmodify和rec属性。其作用与人员信息的中的作用一致。
2.重要控件
表11重要控件
控件名
属性
值
Ryjc
Autocenter
.t.
Caption
人员奖惩管理
Showwindow
1-在顶层表单中
Cmdnew
Caption
新建
Tooltiptext
增加新的记录
Cmddel
Caption
删除
Tooltiptext
删除当前记录
Cmdmodify
Caption
修改
Tooltiptext
修改记录信息
Cmdsave
Caption
保存
Default
.t.
Tooltiptext
保存对记录的修改
Cmdcancel
Caption
取消
Cancel
.t.
Tooltiptext
取消对记录的修改
Cmdexit
Caption
退出
Tooltiptext
退出当前表单
Txt职员编号
Controlsource
ryjc.职员编号
Txt姓名
Controlsource
Ygxx.姓名
Txt奖惩名称
Controlsource
Ryjc.奖惩名称
Txt奖惩具体内容
Controlsource
Ryjc.奖惩具体内容
Txt奖惩原因
Controlsource
Ryjc.奖惩原因
Txt批准人
Controlsource
Ryjc.批准人
Txt批准部门
Controlsource
Ryjc.批准部门
Txt签发时间
Controlsource
Ryjc.签发时间
Txt生效时间
Controlsource
Ryjc.生效时间
Txt奖惩原因
Controlsource
Ryjc.奖惩原因
Txt撤销时间
Controlsource
Ryjc.撤销时间
Txt撤销原因
Controlsource
Ryjc.撤销原因
Txt所属部门
Controlsource
Ryjc.所属部门
Txt性别
Controlsource
Ryxx.性别
3.代码设计
在表单ryjc中的自定义方式rdonly中添加代码:
bmodify=thisform.bmodify
thisform.txt职员编号.readonly=bmodify
thisform.txt奖惩名称.readonly=bmodify
thisform.txt奖惩具体内容.readonly=bmodify
thisform.txt签发时间.readonly=bmodify
thisform.txt生效时间.readonly=bmodify
thisform.txt奖惩原因.readonly=bmodify
thisform.txt批准人.readonly=bmodify
thisform.txt撤销时间.readonly=bmodify
thisform.txt批准部门.readonly=bmodify
thisform.txt撤销原因.readonly=bmodify
thisform.grid1.readonly=.t.
thisform.grid1.enabled=bmodify
thisform.cmdnew.enabled=bmodify
thisform.cmdmodify.enabled=bmodify
thisform.cmdsave.enabled=!bmodify
thisform.cmddel.enabled=bmodify
thisform.cmdcancel.enabled=!bmodify
thisform.cmdexit.enabled=bmodify
thisform.refresh
所有的信息都是通过表格控件的来显示和控制。所以在表格的afterrowcolchange的添加代码:
LPARAMETERSnColIndex
selectryjc
thisform.rec=recno()
gorecno()
thisform.refresh
selectygxx
locateforalltrim(ygxx.职员编号)==alltrim(thisform.txt职员编号.value)
iffound()
thisform.txt姓名.value=ygxx.姓名
thisform.txt性别.value=ygxx.性别
thisform.txt所属部门.value=ygxx.所属部门
thisform.refresh
endif
在表单中的[新建]按钮中的click添加代码:
selectryjc
gobottom
appendblank
thisform.bmodify=.f.
thisform.rdonly
thisform.refresh
在表单中的[修改]按钮中的click添加代码:
thisform.bmodify=.f.
thisform.rdonly
thisform.refresh
在表单中的[删除]按钮中的click添加代码:
yn=messagebox("确定删除",4+32,"企业人事管理系统")
ifyn==6
selectryjc
delete
pack
ifeof()
skip-1
else
ifbof()
skip
endif
endif
thisform.refresh
endif
在表单中[保存]按钮的click事件中添加代码:
localok
ok=.t.
ifok=.t.
yn=messagebox("确定保存",4+32,"企业人事管理系统")
ifyn==6
iftableupdate(.f.)=.f.
messagebox("无法保存",48,"企业人事管理系统")
return
endif
thisform.bmodify=.t.
thisform.rdonly
thisform.refresh
endif
endif
在表单中[取消]按钮的click事件中添加代码:
yn=messagebox("确定取消",4+32,"企业人事管理系统")
ifyn==6
tablerevert(.f.)
thisform.bmodify=.t.
thisform.rdonly
thisform.refresh
endif
在表单中[退出]按钮的click事件中添加代码:
yn=messagebox("确定退出",4+32,"企业人事管理系统")
ifyn==6
thisform.release
endif
另外由于是表单中包含两个表,所以要根据职员编号来关联显示另外一个表的姓名和性别。所以要在根据txt职员编号来判断输入的职员编号是否存在与ryxx中的职员编号,所以要在txt职员编号的valid事件中添加:
selectygxx
*从基本信息表中查找是否存在这个职员编号
locateforalltrim(ygxx.职员编号)==alltrim(thisform.txt职员编号.value)
iffound()
thisform.txt姓名.value=ygxx.姓名
thisform.txt性别.value=ygxx.性别
thisform.txt所属部门.value=ygxx.所属部门
else
messagebox("职员编号不存在",48,"企业人事管理系统")
thisform.refresh
endif
selectryjc
3.6人员调动管理
通过主页面的按钮可以进入人员调动管理表单。通过这个界面可以完成人员调动信息的录入、修改、删除等功能。人员调动管理界面如下:
图9人员调动界面
1.表单设计
与人员培训管理表单一样。建立一个表单rydd,在表单中添加表格空间和若干txt控件和label空间。6个按钮空间。在表单中添加自定义方法rdonly,自定义bmodify和rec属性。其作用与人员信息的中的作用一致。
2.重要控件设置
表12重要控件设置表
控件名
属性
值
Rydd
Autocenter
.t.
Caption
人员调动管理
Showwindow
1-在顶层表单中
Cmdnew
Caption
新建
Tooltiptext
增加新的记录
Cmddel
Caption
删除
Tooltiptext
删除当前记录
Cmdmodify
Caption
修改
Tooltiptext
修改记录信息
Cmdsave
Caption
保存
Default
.t.
Tooltiptext
保存对记录的修改
Cmdcancel
Caption
取消
Cancel
.t.
Tooltiptext
取消对记录的修改
Cmdexit
Caption
退出
Tooltiptext
退出当前表单
Txt职员编号
Controlsource
rydd.职员编号
Txt姓名
Controlsource
Ygxx.姓名
Txt调动时间
Controlsource
Rydd.调动时间
Txt调动后部门
Controlsource
Rydd.调动后部门
Txt调动后职务
Controlsource
Rydd.调动后职务
Txt调动原因
Controlsource
Rydd.调动原因
Txt备注
Controlsource
Rydd.备注
Txt性别
Controlsource
Ryxx.性别
Txt所属部门
Controlsource
Ryxx.所属部门
Txt职务
Controlsource
Ryxx.职务
3.代码设计
表单中自定义的方法rdonly来设置表单上的各个控件只读特性和可用性。其代码如下:
bmodify=thisform.bmodify
thisform.txt职员编号.readonly=bmodify
thisform.txt调动时间.readonly=bmodify
thisform.txt调动后部门.readonly=bmodify
thisform.txt调动后职务.readonly=bmodify
thisform.txt调动原因.readonly=bmodify
thisform.txt备注.readonly=bmodify
thisform.txt姓名.readonly=.t.
thisform.txt性别.readonly=.t.
thisform.txt所属部门.readonly=.t.
thisform.txt职务.readonly=.t.
thisform.grid1.readonly=.t.
thisform.grid1.enabled=bmodify
thisform.cmdnew.enabled=bmodify
thisform.cmdmodify.enabled=bmodify
thisform.cmddel.enabled=bmodify
thisform.cmdsave.enabled=!bmodify
thisform.cmdcancel.enabled=!bmodify
thisform.cmdexit.enabled=bmodify
thisform.refresh
所有的信息的控制和选择都通过表格控件,所以Grid1的afterrowcolchange的代码如下:
LPARAMETERSnColIndex
selectrydd
thisform.rec=recno()
gorecno()
thisform.refresh
selectygxx
locateforalltrim(ygxx.职员编号)==alltrim(thisform.txt职员编号.value)
iffound()
thisform.txt姓名.value=ygxx.姓名
thisform.txt性别.value=ygxx.性别
thisform.txt所属部门.value=ygxx.所属部门
thisform.txt职务.value=ygxx.职务
thisform.refresh
endif
在表单的[新建]按钮中的click事件中代码如下:
selectrydd
gobottom
appendblank
thisform.bmodify=.f.
thisform.rdonly
thisform.refresh
在表单的[修改]按钮中的click事件中的代码如下:
thisform.bmodify=.f.
thisform.rdonly
thisform.refresh
在表单的[删除]按钮中的click事件中的代码如下:
yn=messagebox("确定删除",4+32,"企业人事管理系统")
ifyn==6
selectrydd
delete
thisform.grid1.recordsource=null
pack
thisform.grid1.recordsource="rydd"
ifeof()
skip-1
else
ifbof()
skip
endif
endif
thisform.refresh
endif
在表单的[保存]按钮中的click事件中的代码如下:
localok
ok=.t.
ifok=.t.
yn=messagebox("确定保存",4+32,"企业人事管理系统")
ifyn==6
iftableupdate(.f.)=.f.
messagebox("无法保存",48,"企业人事管理系统")
return
endif
thisform.bmodify=.t.
thisform.rdonly
thisform.refresh
endif
endif
在表单的[取消]按钮中的click事件中的代码如下:
yn=messagebox("确定取消",4+32,"企业人事管理系统")
ifyn==6
tablerevert(.f.)
thisform.bmodify=.t.
thisform.rdonly
thisform.refresh
endif
在表单的[退出]按钮中的click事件中的代码如下:
yn=messagebox("确定退出",4+32,"企业人事管理系统")
ifyn==6
thisform.release
endif
另外由于是表单中包含两个表,所以要根据职员编号来关联显示另外一个表的姓名和性别。所以要在根据txt职员编号来判断输入的职员编号是否存在与ryxx中的职员编号,所以要在txt职员编号的valid事件中添加:
selectygxx
*从基本信息表中查找是否存在这个职员编号
locateforalltrim(ygxx.职员编号)==alltrim(thisform.txt职员编号.value)
iffound()
thisform.txt姓名.value=ygxx.姓名
thisform.txt性别.value=ygxx.性别
thisform.txt所属部门.value=ygxx.所属部门
thisform.txt职务.value=ygxx.职务
else
messagebox("职员编号不存在",48,"企业人事管理系统")
thisform.refresh
endif
selectrydd
3.7密码设置表单
由于本系统是单用户使用,但是可以根据自己的喜好设置密码,以增加本系统的安全特性。密码设置表单如图:
图10修改密码界面
1.表单设计
新建一个表单setpwd,在表单上添加如图上的控件。
2.控件属性
表13控件属性
控件名称
属性
值
Setpwd
Autocenter
.t.
Caption
修改密码
Showwindow
1-在顶层表单中
Cmdexit
Caption
退出
Cancel
.t.
Cmdok
Caption
确定
Default
.t.
Txt用户名
Readonly
.t.
Txt姓名
Readonly
.t.
3.代码设计
由于"修改密码"表单是用来修改登陆的系统用户的密码,而登录的系统用户的用户名保存在全局变量"ccuruser"中的。
添加"修改密码"表单的"init"事件代码如下:
selectuserinfo
locateforalltrim(userinfo.username)=alltrim(ccuruser)
iffoun()
thisform.txtusenam.value=userinfo.username
thisform.txtname.value=userinfo.name
endif
thisform.refresh
在"修改密码"表单中的[确定]按钮的功能设计是,单击时检测原密码是否正确,检测新密码是否为空,检测两次密码是否一致,如果都正确,则将密码保存在数据库中。
[确定]按钮的click事件:
setexacton
selectuserinfo
locateforalltrim(username)=alltrim(thisform.txtusenam.value).and.alltrim(passwd)=alltrim(thisform.txtoldpwd.value)
if.not.foun()
messagebox("原始密码错误,请重新输入",48,"企业人事管理系统")
thisform.txtoldpwd.setfocus
return
endif
ifempty(alltrim(thisform.txtnewpwd.value)).and.empty(alltrim(thisform.txtcfmpwd.value))
messagebox("密码不能为空",48,"企业人事管理系统")
thisform.txtnewpwd.setfocus
return
endif
ifalltrim(thisform.txtnewpwd.value)<>alltrim(thisform.txtcfmpwd.value)
messagebox("密码与确认密码不一致",48,"企业人事管理系统")
thisform.txtnewpwd.setfocus
return
endif
sname=alltrim(thisform.txtusenam.value)
spass=alltrim(thisform.txtnewpwd.value)
yn=messagebox("确定保存",4+32,"企业人事管理系统")
ifyn=6
updateuserinfosetpasswd=spasswhereusername=sname
messagebox("密码修改成功",64,"企业人事管理系统")
thisform.release
endif
至此企业人事管理系统已经基本完成,现在的工程和界面都需要进一步的修改和提高软件的可操作性。
结束语
本文通过对企业人事管理系统的分析、设计和编码进行了详细的介绍。可以看出软件系统在当今社会上的重要作用,通过这个人事系统可以简化企业人事管理者的任务量,方便的对人事进行操作和修改。
在此文中可以验证了visualfoxpro是比较适合中小企业开发的数据库软件,它简单和形象的制作出非常好的数据库软件。
本文还有很多需要改进的地方,如可以增加更多的人事相关的功能、系统界面的美化、提高软件的可操作性等方面。
附录A参考文献
[1]谭浩强,visualfoxpro及其应用系统开发,北京,清华大学出版社,2000.1,310-344
[2]张洪举,visualfoxpro软件开发模式与应用案例,北京,人民邮电出版社,2005.4,1-25
[3]周恒,visualfoxpro数据库系统开发案例精选,北京,人民邮电出版社,2006,8,199-230
[4]史济民、汤观全,《VisualFoxpro及其应用系统开发》,清华大学出版社,2003
[5]张立科,《数据库开发技术与工程实践》,人民邮电出版社,2004
[6]孟小峰,王珊,《数据库系统导论》,机械工业出版社,2000
[7]郭荷清、林拉、张为,《现代软件工程-原理、方法与管理》,华南理工大学出版社,2005
[8]王珊,萨师煊,《数据库系统概论》,高等教育出版社,2006
[9]全国高校网络教育委员会办公室《计算机应用基础》2005.3
[10]严蔚敏,吴伟民,《数据结构》,清华大学出版社2005.10
??
??
??
??
2
1
上一篇:
vfp个人通讯簿管理系统程序(论文和程序)
下一篇:
Dreamweaver网页制作教程:层及其应用