t.
endcase
在"查询"按钮的"Click"事件中添加代码如下:
*获取各查询关键字输入值
getid=alltrim(thisform.text1.value)
getname=alltrim(thisform.text2.value)
getdepart=alltrim(thisform.combo1.value)
*获取各复选框的值
flag1=thisform.check1.value
flag2=thisform.check2.value
flag3=thisform.check3.value
*按选中的查询关键字进行查询
ifflag1=0andflag2=0andflag3=0
messagebox("请输入查询条件",48,"错误")
endif
ifflag1=1andflag2=0andflag3=0
select*from职员信息表where职员号=getid
endif
ifflag1=0andflag2=1andflag3=0
select*from职员信息表where姓名=getname
endif
ifflag1=0andflag2=0andflag3=1
select*from职员信息表where所属部门=getdepart
endif
ifflag1=1andflag2=1andflag3=0
select*from职员信息表where职员号=getidand姓名=getname
endif
ifflag1=1andflag2=0andflag3=1
select*from职员信息表where职员号=getidand所属部门=getdepart
endif
ifflag1=0andflag2=1andflag3=1
select*from职员信息表where姓名=getnameand所属部门=getdepart
endif
ifflag1=1andflag2=1andflag3=1
select*from职员信息表where职员号=getidand姓名=getnameand所属部门=getdepart
endif
在"一览"按钮的"Click"事件中添加代码如下:
select*from职员信息表
在"退出"按钮的"Click"事件中添加代码如下:
thisform.release
doform主界面
"报表打印"模块
本模块实现两个功能:打印报表和打印预览。
在"确定"按钮的"Click"事件中添加代码如下:
docase
casethisform.optiongroup1.option1.value=1
reportform职员信息报表toprint
casethisform.optiongroup1.option2.value=1
reportform职员信息报表toprintpreview
endcase
在"退出"按钮的"Click"事件中添加代码如下:
thisform.release
doform主界面
"导航条"类
由于在"修改记录"和"删除记录"模块中都要用导航条,为简化代码,并方便系统的维护和修改,我做了一个"导航条"类。在类设计器中依次放置"第一条记录"、"上一条记录"、"下一条记录"和"最后一条记录"四个按钮。
在"第一条记录"按钮的"Click"事件中添加代码如下:
gototop
this.parent.cmdFirst.enabled=.f.
this.parent.cmdPrevious.enabled=.f.
this.parent.cmdNext.enabled=.t.
this.parent.cmdLast.enabled=.t.
thisform.refresh
在"上一条记录"按钮的"Click"事件中添加代码如下:
skip-1
ifbof()
messagebox("已是第一条记录",48,"信息窗口")
this.parent.cmdFirst.enabled=.f.
this.parent.cmdPrevious.enabled=.f.
else
this.parent.cmdFirst.enabled=.t.
this.parent.cmdPrevious.enabled=.t.
endif
this.parent.cmdNext.enabled=.t.
this.parent.cmdLast.enabled=.t.
thisform.refresh
在"下一条记录"按钮的"Click"事件中添加代码如下:
skip
ifeof()
messagebox("已是最后一条记录",48,"信息窗口")
skip-1
this.parent.cmdNext.enabled=.f.
this.parent.cmdLast.enabled=.f.
else
this.parent.cmdNext.enabled=.t.
this.parent.cmdLast.enabled=.t.
endif
this.parent.cmdFirst.enabled=.t.
this.parent.cmdPrevious.enabled=.t.
thisform.refresh
在"最后一条记录"按钮的"Click"事件中添加代码如下:
gotobottom
this.parent.cmdFirst.enabled=.t.
this.parent.cmdPrevious.enabled=.t.
this.parent.cmdNext.enabled=.f.
this.parent.cmdLast.enabled=.f.
thisform.refresh
"setting.prg"代码
该程序功能为设置系统环境配置。
*关闭系统菜单
setsysmenuoff
setsysmenuto
*不显示图形状态框
setstatusbaroff
settalkoff
setnotifyoff
*将时钟在指定的位置上显示
setclockstatus
*不使用VisualFoxPro默认的调色板
setpaletteoff
*打开计算机喇叭
setbellon
*指定在覆盖已有的文件时不打开一个对话框
setsafetyoff
*指定在按下ESC键后,中断命令和程序的运行
setescapeon
setkeycomptowindows
setcarryon
setconfirmon
*指定两个表达式必须长度相等才能进行比较
setexacton
setnearon
setansioff
setlockon
setmultilockson
setdeletedon
setoptimizeon
*设定网络中表的刷新时间
setrefreshto0,5
*设定字符型字段的排列顺序
setcollateto'stroke'
*设置默认文件目录
setdefaulttosys(5)+curdir()
*指定查找文件目录
setpathtosys(5)+curdir()
setsysformatsoff
setsecondson
setcenturyoff
setcurrencyleft
setcurrencyto'nt$'
sethoursto12
setdatetousa
setdecimalsto2
setfdowto1
setfweekto1
setmarkto'.'
setseparatorto','
setpointto'.'
"reset.prg"代码
该程序功能为还原系统环境配置。
setsysmenutodefault
setsysmenuon
settalkon
setnotifyon
setsafetyon
"主程序.prg"代码
*将程序的资源路径设为当前程序所在文件夹
setdirectorytocurdir()
clearscreen
clearevents
*执行"setting.prg"文件
dosetting
*打开数据库
opendatabase职员信息管理
*运行"主界面"表单
doform主界面
*为窗口提供关闭功能
onshutdownquit
*开始响应事件
readevents
closedatabase
*执行"reset.prg"文件
doreset
测试情况
模块测试
在"增加记录"模块的运行测试中,通过输入数据,我发现在"职员号"、"生日"、"进本单位年份"等几个只能输入数字的文本框中应该做一些输入性限制,使用户无法输入汉字、标点符号等非数字型数据。
在"删除记录"模块的第一次运行测试中,单击"删除这条记录"按钮时,系统弹出出错信息,指出表必须以独占方式打开才能执行删除命令。开始我不知道该怎样修改,找了些相关的书看后才得以解决。
在"查询"模块中,开始我准备通过在表单中放置一个表格(Grid)控件来实现"一览"功能,但是发现放置后未做任何属性设置就能在运行时完整的显示"职员信息表",看了些书和经过多次调试,仍不得其解,所以只得放弃这种方式。
在"报表打印"模块的测试中,由于家里没有打印机,在执行"打印报表"命令时打开的却是"传真向导"对话框,因此,该功能无法顺利测试。
系统测试
在整体测试时,发现由主界面打开个功能模块后,应该释放或隐藏主界面,要不然同一功能模块可以同时打开多个。由功能模块返回主界面时,同样也要释放该功能模块。
本来我是想将全部表单都设置为运行时不可改变其大小,但发现在"查询"模块运行时,显示查询结果的窗口也不可改变大小,考虑到这样不方便用户的浏览,所以就使"查询"模块运行时可以改变其表单的大小。
主程序、数据表、功能模块及报表对应文件名:
主程序----------------------------主程序.prg
职员信息表----------------------职员信息表.dbf
"主界面"模块----------------主界面.scx
"增加记录"模块-------------增加记录.scx
"修改记录"模块-------------修改记录.scx
"删除记录"模块-------------删除记录.scx
"查询"模块-------------------查询.scx
"报表打印"模块-------------报表打印.scx
职员信息报表-------------------职员信息报表.frx
程序使用说明
将"职员信息管理系统"文件夹复制到你的硬盘上。
程序启动
上一篇:
VF系统的学生成绩管理系统_论文(论文和程序)
下一篇:
试析影响公路路面平整度的因素及应采取的施工措施