图书管理系统毕业设计论文详细附录.docx

上传人:b****4 文档编号:3512698 上传时间:2022-11-23 格式:DOCX 页数:72 大小:36.06KB
下载 相关 举报
图书管理系统毕业设计论文详细附录.docx_第1页
第1页 / 共72页
图书管理系统毕业设计论文详细附录.docx_第2页
第2页 / 共72页
图书管理系统毕业设计论文详细附录.docx_第3页
第3页 / 共72页
图书管理系统毕业设计论文详细附录.docx_第4页
第4页 / 共72页
图书管理系统毕业设计论文详细附录.docx_第5页
第5页 / 共72页
点击查看更多>>
下载资源
资源描述

图书管理系统毕业设计论文详细附录.docx

《图书管理系统毕业设计论文详细附录.docx》由会员分享,可在线阅读,更多相关《图书管理系统毕业设计论文详细附录.docx(72页珍藏版)》请在冰豆网上搜索。

图书管理系统毕业设计论文详细附录.docx

图书管理系统毕业设计论文详细附录

附录

1.系统用户登陆表单

定义保存允许用户最大登陆次数和当前登陆次数的变量

PROCEDUREload

publicnMaxLogTimes&&定义一个全局变量保存允许的最大登录次数

nMaxLogTimes=3&&设置最大允许的登录次数

publicnLogTimes&&定义一个全局变量保存当前登录次数

nLogTimes=0&&设置登录次数的初始值

ENDPROC

实现登录信息验证

PROCEDURECommand1.Click

*首先检查是否超过允许的最多登录次数

nLogTimes=nLogTimes+1&&当前登录次数加1

ifnLogTimes>nMaxLogTimes

*在超过允许的最多登录次数时显示提示信息,并关闭登录对话框

cstr="你已超过允许的最多登录次数,登录对话框将关闭"

messagebox(cstr,16,"用户登录验证")&&显示提示

thisform.release&&关闭登录对话框

else

*在允许的最多登录次数范围内,首先获得用户输入的登录信息

cName=alltrim(thisform.txtName.value)

cPassword=alltrim(thisform.txtPassword.value)

*检验用户名是否存在

locateforalltrim(编号)==cname

ifnotfound()

messagebox("用户名输入错误!

",16,"用户登录验证")

thisform.txtName.selstart=0

thisform.txtName.sellength=len(cName)

thisform.txtName.setfocus

return

endif

*在用户名正确时,检查口令是否正确

ifalltrim(口令)==cPassword

*显示登录信息通过验证的信息

messagebox("登录成功!

",64,"用户登录验证")

thisform.release&&关闭登录对话框

*保存当前用户信息,下列变量在系统主文件中定义

capp_currentuser=cname

capp_currentpwd=cpassword

capp_currentpop=权限

lapp_Logon=.T.&&lapp_Logon设置为.T.表示登录成功

else

messagebox("口令输入错误!

",16,"用户登录验证")

thisform.txtPassword.value=""

thisform.txtPassword.setfocus

endif

endif

ENDPROC

实现取消登录功能

PROCEDURECommand2.Click

nr=messagebox("你选择了退出登录,是否退出?

",68,"用户登录")

ifnr=6

thisform.release&&关闭登录对话框表单

endif

ENDPROC

在登录对话框关闭时执行清理操作

PROCEDUREUnload

*从内存释放保存允许的最大登录次数和当前登录次数的变量

RELEASEnMaxLogTimes,nLogTimes

clearevents&&清除事件循环

ENDPROC

表示当前日期的功能

PROCEDUREInit

thisform.txtdate.value=date()

ENDPROC

2.创建记录导航条类

首记录

PROCEDUREcmdTop.Click

*在当前表中有记录时才执行改变当前记录操作

ifreccount()>0

gotop&&使第一条记录成为当前记录

endif

thisform.refresh&&刷新表单,显示当前记录数据

ENDPROC

前一记录

PROCEDURECmdPre.Click

*在当前表中有记录时才执行改变当前记录操作

ifreccount()>0

skip-1&&使前一个记录成为当前记录

ifbof()

gotop&&如果记录指针指向文件开头,则使第一个记录成为当前记录

endif

endif

thisform.refresh&&刷新表单,显示当前记录数据

ENDPROC

后一记录

PROCEDUREcmdNext.Click

*在当前表中有记录时才执行改变当前记录操作

ifreccount()>0

skip&&使后一个记录成为当前记录

ifeof()

gobottom&&如果记录指针指向文件末尾,则使最后一个记录成为当前记录

endif

endif

thisform.refresh&&刷新表单,显示当前记录数据

ENDPROC

尾记录

PROCEDUREcmdBottom.Click

*在当前表中有记录时才执行改变当前记录操作

ifreccount()>0

gobottom&&使最后一个记录成为当前记录

endif

thisform.refresh&&刷新表单,显示当前记录数据

DENPROC

mynavigatorde的初始化事件过程

PROCEDUREInit

Thisform,mynavigator1.cmdTop.click

ENDPROC

3.实现系统用户数据管理功能

实现添加记录功能

PROCEDUREcmdAdd.Click

*取消各个文本框数据绑定属性,在保存后再恢复

thisform.txt编号.controlsource=""

thisform.txt编号.value=""

thisform.txt口令.controlsource=""

thisform.txt口令.value=""

thisform.txt权限.controlsource=""

thisform.txt权限.value=""

*取消文本框的只读属性

thisform.txt编号.readonly=.f.

thisform.txt口令.readonly=.f.

thisform.txt权限.readonly=.f.

thisform.isadding=.T.&&设置添加状态标志

thisform.caption="系统用户数据管理-[添加]"&&修改表单标题

thisform.mynavigator1.enabled=.f.&&禁用记录导航条

thisform.cmdadd.enabled=.f.&&禁用添加按钮

thisform.cmdedit.enabled=.f.&&禁用修改按钮

thisform.cmddelete.enabled=.f.&&禁用删除按钮

thisform.cmdexit.enabled=.f.&&禁用退出按钮

ENDPROC

实现修改记录功能

PROCEDUREcmdEdit.Click

ifreccount()<1

return&&在无记录时直接返回

endif

*取消各个文本框数据绑定属性,在保存后再恢复

thisform.txt编号.controlsource=""

thisform.txt口令.controlsource=""

thisform.txt权限.controlsource=""

thisform.iseditting=.T.&&设置修改状态标志

thisform.caption="系统用户数据管理-[修改]"&&修改表单标题

thisform.mynavigator1.enabled=.f.&&禁用记录导航条

thisform.cmdadd.enabled=.f.&&禁用添加按钮

thisform.cmdedit.enabled=.f.&&禁用修改按钮

thisform.cmddelete.enabled=.f.&&禁用删除按钮

thisform.cmdexit.enabled=.f.&&禁用退出按钮

*取消文本框的只读属性

thisform.txt编号.readonly=.f.

thisform.txt口令.readonly=.f.

thisform.txt权限.readonly=.f.

ENDPROC

实现退出添加或修改状态功能

PROCEDUREcmdEsc.Click

*退出当前修改或添加状态

ifthisform.isaddingorthisform.iseditting

nRecno=recno()&&记录当前记录编号

*恢复各个文本框数据绑定属性

thisform.txt编号.controlsource="sysuserdata.编号"

thisform.txt口令.controlsource="sysuserdata.口令"

thisform.txt权限.controlsource="sysuserdata.权限"

gonrecno

thisform.refresh

*清除编辑和添加状态标记

thisform.isadding=.f.

thisform.iseditting=.f.

*恢复文本框的只读属性

thisform.txt编号.readonly=.t.

thisform.txt口令.readonly=.t.

thisform.txt权限.readonly=.t.

thisform.caption="系统用户数据管理-[浏览]"&&修改表单标题

thisform.mynavigator1.enabled=.t.&&重新启用记录导航条

thisform.cmdexit.enabled=.t.&&重新启用退出按钮

thisform.cmdadd.enabled=.t.&&重新启用添加按钮

thisform.cmdedit.enabled=.t.&&重新启用修改按钮

thisform.cmddelete.enabled=.t.&&重新启用删除按钮

endif

ENDPROC

实现保存记录功能

PROCEDUREcmdSave.Click

*判断当前是否处于添加或编辑状态

ifnot(thisform.isaddingorthisform.iseditting)

return&&在不处于添加或编辑状态时不执行保存操作

endif

*执行保存记录操作,首先获得输入

cNum=alltrim(thisform.txt编号.value)

cPwd=alltrim(thisform.txt口令.value)

cPop=alltrim(thisform.txt权限.value)

ifempty(cNum)&&验证编号是否为空

messagebox("编号不能为空!

",16,"系统用户数据管理")

thisform.txt编号.value=""

thisform.txt编号.setfocus

return

endif

ifempty(cpwd)&&验证口令是否为空

messagebox("口令不能为空!

",16,"系统用户数据管理")

thisform.txt口令.value=""

thisform.txt口令.setfocus

return

endif

ifnot(cpop==chr(48)orcpop==chr(49))&&验证权限代码是否有效

messagebox("权限代码只能为0或1!

",16,"系统用户数据管理")

thisform.txt权限.setfocus

return

endif

*定义一个变量用于表示编号是否被使用

*检查添加的编号是否已被使用

nRecno=recno()&&记录当前记录编号

locatefor编号==cNum

iffound()

ifthisform.isadding

messagebox("编号:

"+cnum+"已被使用!

",16,"系统用户数据管理")

thisform.txt编号.setfocus

return

else

ifnrecno<>recno()

messagebox("编号:

"+cnum+"已被使用!

",16,"系统用户数据管理")

thisform.txt编号.setfocus

return

endif

endif

endif

*将通过验证的数据保存到sysuserdata表

ifthisform.isadding

insertintosysuserdata(编号,口令,权限)values(cnum,cpwd,cpop)

else

replace编号withcnum,口令withcpwd,权限withcpopRECORDnrecno

endif

*恢复各个文本框数据绑定属性

thisform.txt编号.controlsource="sysuserdata.编号"

thisform.txt口令.controlsource="sysuserdata.口令"

thisform.txt权限.controlsource="sysuserdata.权限"

*恢复文本框的只读属性

thisform.txt编号.readonly=.t.

thisform.txt口令.readonly=.t.

thisform.txt权限.readonly=.t.

*使新添加的记录或被修改记录成为当前记录

ifthisform.isadding

gobottom

else

gonrecno

endif

thisform.refresh

*清除编辑和添加状态标记

thisform.isadding=.f.

thisform.iseditting=.f.

thisform.caption="系统用户数据管理-[浏览]"&&修改表单标题

thisform.mynavigator1.enabled=.t.&&重新启用记录导航条

thisform.cmdexit.enabled=.t.&&重新启用退出按钮

thisform.cmdadd.enabled=.t.&&重新启用添加按钮

thisform.cmdedit.enabled=.t.&&重新启用修改按钮

thisform.cmddelete.enabled=.t.&&重新启用删除按钮

messagebox("数据保存成功",64,"系统用户数据管理")

ENDPROC

实现删除记录功能

PROCEDUREcmdDelete.Click

ifreccount()<1

return&&在无记录时直接返回

endif

ifmessagebox("是否删除当前记录",36,"系统用户数据管理")=6&&选择删除记录

nrecno=recno()&&记录当前记录编号

delete&&对记录作删除标记

pack&&彻底删除当前记录

*使被删除记录的下一条记录成为当前记录

ifreccount()<=1

gotop

else

ifnrecno=reccount()+1

gobottom

else

gonrecno

endif

endif

thisform.refresh

endif

ENDPROC

实现关闭表单功能

PROCEDUREcmdExit.Click

ifmessagebox("是否退出系统用户数据管理?

",36,"系统用户数据管理")=6

thisform.release&&关闭系统用户数据管理表单

endif

ENDPROC

4.实现当前用户口令修改功能

实现表单初始化

PROCEDUREIint

*显示用户编号

thisform.txtNum.value=capp_currentuser

*显示用户口令

selectsysuserdata

locateforalltrim(编号)=capp_currentuser

thisform.txtOldPwd.value=口令

ENDPROC

实现清除口令功能

PROCEDUREcmdClear.Click

*清除新口令

thisform.txtnewpwd1.value=""

thisform.txtnewpwd2.value=""

ENDPROC

实现保存新口令功能

PROCEDUREcmdSave.Click

*检查两次输入的口令是否相同

withthisform

IF.txtnewpwd1.value<>.txtnewpwd2.value

messagebox("两次输入的新口令不相同",16,"口令修改")

.txtnewpwd1.setfocus

return

endif

*获得输入的新口令

cpwd=alltrim(.txtnewpwd1.text)

*修改口令

selectsysuserdata

replace口令withcpwdwhile编号=capp_currentuser

capp_currentpwd=cpwd

messagebox("口令修改成功",64,"口令修改")

.txtoldpwd.value=cpwd

.txtnewpwd1.value=""

.txtnewpwd2.value=""

endwith

ENDPROC

实现关闭表单功能

PROCEDUREcmdExit.Click

ifmessagebox("是否退出口令修改?

",36,"口令修改")=6

thisform.release&&关闭口令修改表单

endif

ENDPROC

5.实现读者类型管理功能

初始化表单

PROCEDUREIint

*打开读者类型表readertype

usedata\readertype

*在表单中显示原来的读者类型数据

*显示特殊读者类型数据

gotop

thisform.text2.value=借书量

thisform.text3.value=借书期

thisform.text4.value=有效期

*显示馆员类型数据

skip

thisform.text6.value=借书量

thisform.text7.value=借书期

thisform.text8.value=有效期

*显示教师类型数据

skip

thisform.text10.value=借书量

thisform.text11.value=借书期

thisform.text12.value=有效期

*显示学生类型数据

skip

thisform.text14.value=借书量

thisform.text15.value=借书期

thisform.text16.value=有效期

ENDPROC

实现保存功能

PROCEDUREcommand1.Click

withthisform

ifreccount()=0

*保存特殊读者类型数据

insertintoreadertype(类号,借书量,借书期,有效期);

values("0",.text2.value,.text3.value,.text4.value)

*保存馆员类型数据

insertintoreadertype(类号,借书量,借书期,有效期);

values("1",.text6.value,.text7.value,.text8.value)

*保存教师类型数据

insertintoreadertype(类号,借书量,借书期,有效期);

values("2",.text10.value,.text11.value,.text12.value)

*保存学生类型数据

insertintoreadertype(类号,借书量,借书期,有效期);

values("3",.text14.value,.text15.value,.text16.value)

else

*保存特殊读者类型数据

replace借书量with.text2.value,借书期with.text3.value,有效期with.text4.value;

for类号=="0"

*保存馆员类型数据

replace借书量with.text6.value,借书期with.text7.value,有效期with.text8.value;

for类号=="1"

*保存教师类型数据

replace借书量with.text10.value,借书期with.text11.value,有效期with.text12.value;

for类号=="2"

*保存学生类型数据

replace借书量with.text14.value,借书期with.text15.value,有效期with.text16.value;

for类号=="3"

endif

endwith

messagebox("数据保存成功",64,"读者类型管理")

ENDPROC

实现关闭表单功能

PROCEDUREcommand1.Click

ifmessagebox("是否退出读者类型管理?

",36,"读者类型管理")=6

thisform.release&&关闭读者类型管理表单

endif

ENDPROC

6.实现读者数据管理功能

实现添加记录功能

PROCEDUREcommand1.Click

*取消各个文本框数据绑定属性,在保存后再恢复

thisform.txt证号.controlsource=""

thisform.txt证号.value=""

thisform.txt类号.controlsource=""

thisform.txt类号.value=""

thisform.txt姓名.controlsource=""

thisform.txt姓名.value=""

thisform.txt部门.controlsource=""

thisform.txt部门.value=""

thisform.txt时间.controlsource=""

thisform.txt时间.value=""

*取消文本框的只读属性

thisform.txt证号.readonly=.F.

thisform.txt类号.readonly=.F.

thisform.txt姓名.readonly=.F.

thisform.txt部门.readonly=.F.

thisform.txt时间.read

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1