成都公司:成都市成华区建设南路160号1层9号
重庆公司:重庆市江北区红旗河沟华创商务大厦18楼
工资管理软件的功能实现
工资管理软件的功能实现
员工基本信息模块编码设计
1、员工基本信息增删改功能
员工基本信息模块主要分为员工信息浏览界面和员工信息查询界面,员工信息浏览界面如图4.1所示:


具体编码如下:
(1)“增加新记录”按钮控件源代码:
thisform.pageframe1.page1.fy1.enabled=.F.
thisform.pageframe1.page1.command2.enabled=.F.
thisform.pageframe1.page1.command3.enabled=.F.
thisform.pageframe1.page1.command4.enabled=.T.
if thisform.pageframe1.page1.command1.caption='增加新记录'
thisform.pageframe1.page1.txtpid.enabled=.T.
thisform.pageframe1.page1.txtpname.enabled=.T.
thisform.pageframe1.page1.txtpsex.enabled=.T.
thisform.pageframe1.page1.txtpjob.enabled=.T.
thisform.pageframe1.page1.txtpindate.enabled=.T.
thisform.pageframe1.page1.txtprank.enabled=.T.
append blank
thisform.pageframe1.page1.command1.caption='增加确认'
thisform.pageframe1.page1.refresh
thisform.pageframe1.page1.txtpid.setfocus
else
getid=alltrim(thisform.pageframe1.page1.txtpid.value)
getname=alltrim(thisform.pageframe1.page1.txtpname.value)
getsex=alltrim(thisform.pageframe1.page1.txtpsex.value)
getjob=alltrim(thisform.pageframe1.page1.txtpjob.value)
getindate=alltrim(thisform.pageframe1.page1.txtpindate.value)

getrank=alltrim(thisform.pageframe1.page1.txtprank.value)
if empty(getid) or empty(getname) or empty(getsex) or empty(getjob) or empty(getindate) or empty(getrank)
messagebox("资料不足",48,"错误")
else
thisform.pageframe1.page1.command1.caption='增加新记录'
tableupdate(.t.)
thisform.pageframe1.page1.txtpid.enabled=.F.
thisform.pageframe1.page1.txtpname.enabled=.F.
thisform.pageframe1.page1.txtpsex.enabled=.F.
thisform.pageframe1.page1.txtpjob.enabled=.F.
thisform.pageframe1.page1.txtpindate.enabled=.F.
thisform.pageframe1.page1.txtprank.enabled=.F.
thisform.pageframe1.page1.fy1.enabled=.T.
thisform.pageframe1.page1.command2.enabled=.T.
thisform.pageframe1.page1.command3.enabled=.T.
thisform.pageframe1.page1.command4.enabled=.F.
endif
endif
(2)“修改这条记录”按钮控件源代码:
thisform.pageframe1.page1.command1.enabled=.F.
thisform.pageframe1.page1.command3.enabled=.F.
thisform.pageframe1.page1.command4.enabled=.T.
thisform.pageframe1.page1.fy1.enabled=.F.
if thisform.pageframe1.page1.command2.caption='修改这条记录'
thisform.pageframe1.page1.txtpid.enabled=.T.
thisform.pageframe1.page1.txtpname.enabled=.T.
thisform.pageframe1.page1.txtpsex.enabled=.T.
thisform.pageframe1.page1.txtpjob.enabled=.T.

thisform.pageframe1.page1.txtpindate.enabled=.T.
thisform.pageframe1.page1.txtprank.enabled=.T.
thisform.pageframe1.page1.command2.caption='修改确认'
thisform.pageframe1.page1.refresh
thisform.pageframe1.page1.txtpid.setfocus
else
thisform.pageframe1.page1.command2.caption='修改这条记录'
tableupdate(.t.)
thisform.pageframe1.page1.txtpid.enabled=.F.
thisform.pageframe1.page1.txtpname.enabled=.F.
thisform.pageframe1.page1.txtpsex.enabled=.F.
thisform.pageframe1.page1.txtpjob.enabled=.F.
thisform.pageframe1.page1.txtpindate.enabled=.F.
thisform.pageframe1.page1.txtprank.enabled=.F.
thisform.pageframe1.page1.command1.enabled=.T.
thisform.pageframe1.page1.command3.enabled=.T.
thisform.pageframe1.page1.command4.enabled=.F.
thisform.pageframe1.page1.fy1.enabled=.T.
endif
2、员工信息查询功能
员工信息查询界面如图4.2所示。
图4.2
具体编码如下:
“查询”按钮控件源代码:
getpid=alltrim(thisform.pageframe1.page2.text1.value)
getpname=alltrim(thisform.pageframe1.page2.text2.value)
flag1=thisform.pageframe1.page2.check1.value
flag2=thisform.pageframe1.page2.check2.value
if flag1=0 and flag2=0
messagebox("请输入查询条件",48,"错误")
endif
if flag1=1 and flag2=0
set order to pid
seek getpid
if found()
messagebox("查到记录",48,"注意")
select * from personnel where pid=getpid into cursor ling
thisform.pageframe1.page3.enabled=.T.
thisform.pageframe1.page3.refresh
else
messagebox("没有这条记录",48,"注意")
endif
endif
if flag1=0 and flag2=1
set order to pname
seek getpname
if found()
messagebox("查到记录",48,"注意")
select * from personnel where pname=getpname into cursor ling
thisform.pageframe1.page3.enabled=.T.
thisform.pageframe1.page3.refresh
else
messagebox("没有这条记录",48,"注意")
endif
endif
if flag1=1 and flag2=1
set order to pid
seek getpid
if personnel.pname=getpname
messagebox("查到记录",48,"注意")
select * from personnel where pid=getpid and pname=getpname into cursor ling
thisform.pageframe1.page3.enabled=.T.
thisform.pageframe1.page3.refresh
else
messagebox("没有这条记录",48,"注意")
endif
endif
4.2工资结构设置模块编码设计
工资结构设置模块界面如图4.3所示
图4.3
其中“基础工资”功能界面如图4.4所示:
图4.4
具体编码如下:
“修改”按钮控件源代码:
thisform.grdrank.column1.text1.enabled=.T.
thisform.grdrank.column2.text1.enabled=.T.
thisform.grdrank.column1.text1.setfocus
“修改确认”按钮控件源代码:
thisform.grdrank.column1.text1.enabled=.F.
thisform.grdrank.column2.text1.enabled=.F.
“添加”按钮控件源代码:
append blank
go bottom
thisform.grdrank.column1.text1.enabled=.T.
thisform.grdrank.column2.text1.enabled=.T.
thisform.grdrank.column1.text1.setfocus
“删除”按钮控件源代码:
thisform.grdrank.recordsource=''
use rank exclusive
delete from rank where rname=getid
pack
thisform.grdrank.recordsource='rank'
thisform.grdrank.refresh
“退出”按钮控件源代码:
thisform.release
do form formdataformat
4.3入口程序
各模块程序编写完成后,要为程序编写一个入口程序。该程序的作用是完成应用系统一系列的初始化设置。
工资信息系统的入口程序如下:
clear screen
clear events
open database databasesalary
do form formksjm
read events
4.4连编程序
连编应用程序项目本设计的收尾工作。通过连编将项目资源,如视图、查询、表单、报表、菜单、类、过程这些包含于项目管理器中的文件信息结合在一起,生成一个扩展名为salary.exe可执行文件,或扩展名为.app的应用程序。
连编程序之前,要进行设置主文件、确定包含或排除文件、设置项目信息等操作。泛普软件完成这些操作后,运行主程序,当主程序没有错误后,即可连编项目。

