VFP图书管理系统程序设计思路.docx
《VFP图书管理系统程序设计思路.docx》由会员分享,可在线阅读,更多相关《VFP图书管理系统程序设计思路.docx(14页珍藏版)》请在冰点文库上搜索。
VFP图书管理系统程序设计思路
图书管理系统设计思路
系统简介
1、本图书管理系统,包含了对图书、读者等基本信息的管理,也包含了借书信息,还书信息等的查询和管理。
本系统具有如下功能:
能够修改、输入、查询、与图书有关的信息,如图书信息、读者信息。
能打印图书信息,读者信息等。
本系统的初始登录用户名为:
万鹏密码为1234
2、本系统的总体设计树状图
具体操作步骤
1、创建项目,名为图书管理系统
2、数据库设计
(1)在项目中新建三个自由表,各自由表的字段值如下:
表名
字段一
字段二
字段三
字段四
字段五
字段六
图书
图书编号
作者
图书名称
价格
现存数量
出版社
读者
读者编号
读者姓名
性别
籍贯
联系电话
专业
用户
读者编号
用户名
密码
3、界面设计
(1)系统启动表单
在项目中创建一个表单。
如下图添加相应控件并在登录按钮的Click事件下写入如下代码:
use用户.dbf
logcount=logcount+1
locateforalltrim(用户.用户名)=alltrim(thisform.text2.value)
iffound()andalltrim(用户.密码)==alltrim(thisform.text3.value)
messagebox("登陆成功!
欢迎进入图书管理系统",0+64,"恭喜")
doform等待启动.scx
releasethisform
else
iflogcount<4then
=messagebox("密码错误,请重新输入",48,"提示")
else
=messagebox("对不起,您无权访问,系统将自动退出",48,"警告")
releasethisform
endif
endif
双击退出按钮,并在它的Click事件写下如下代码:
Clearevent
设置Form1对象的init事件代码为:
thisform.label9.caption=ALLTRIM(STR(YEAR(DATE())))+"年"+ALLTRIM(STR(MONTH(DATE())))+"月"+ALLTRIM(STR(DAY(DATE())))+"日"+time()
publiclogcountasinteger
logcount=0
thisform.text2.setfocus
(3)创建主表单
创建一个表单保存为“主表单”并且设置它的ShowWindows属性为“2——作为顶层表单”
如图设置它的其他控件属性。
设置主界面对象的init事件代码为:
DO菜单1.mprwiththis,.T.
(4)创建主菜单
如下图创建主菜单表单,并且选择“显示”“常规选项”“顶层表单”
分别设置各个子菜单如下:
信息录入
读者服务
信息维护
信息查询
报表打印
然后分别在各自的过程中写入相应的调用表单的命令。
例如在读者登记菜单的过程中写入:
Doform读者信息
(5)创建主程序文件
创建主程序文件,将其保存为“程序1”在代码编辑窗口中,输入以下代码:
clearall
settalkoff
setdefaulttoe:
\计算机学习\vfp\vfp教学\vf60中文帮助版.ins\vfp98\图书管理系统
_screen.visible=.f.
doform登录.scx
modifywindowsscreentitle"图书管理系统"
readevent
quit
4、表单设计
(1)图书登记表单
如下图,创建一个名为读者录入的表单,在他的数据环境中添加表。
然后拖动相应的字段到表单中,按如图所示的位置放好。
(2)借书登记表单
如图新建一个表单,把相应的字段拖入表单中。
按如图所示的位置放好
如图添加一个命令按钮并在他的click事件中写入如下代码:
USE图书借阅
locatallfor图书名称=alltrim(thisform.text4.value)
iffound()
updatetushuziliaoset借阅日期=date(),截止日期=借阅日期+45where图书编号=thisform.Text1.value
m=alltrim(thisform.text1.value)
n=alltrim(thisform.text2.value)
update图书借阅set读者姓名=m,读者编号=nwhere图书名称=alltrim(thisform.Text4.value)
=messagebox("恭喜,借书成功!
",64,"提示")
endif
(3)读者信息维护表单
创建一个表单,在其数据环境设计器中添加读者表,在表单上添加一个表格对象,一个命令按钮组对象,如图:
设置按钮的Click事件代码为:
dzbh=allt(bo1.value)
zy=allt(thisform.text2.value)
lxdh=allt(thisform.text4.value)
xm=allt(thisform.Text1.value)
xb=allt(bo2.value)
jg=allt(thisform.Text3.value)
locatefor读者编号=dzbh
iffound()
messagebox("读者编号不能为空",16,"错误")
else
ifempty(xm)
messagebox("姓名不能为空",16,"错误")
else
ifempty(xb)
messagebox("性别不能为空",16,"错误")
else
ifempty(jg)
messagebox("籍贯不能为空",16,"错误")
else
ifempty(zy)
messagebox("专业不能为空",16,"错误")
else
ifempty(lxdh)
messagebox("联系电话不能为空",16,"错误")
else
APPEBLAN
REPL读者编号WITHTHISFORM.combo1.VALUE
REPL姓名WITHTHISFORM.TEXT1.VALUE
REPL性别WITHTHISFORM.combo2.VALUE
REPL籍贯WITHTHISFORM.TEXT3.VALUE
REPL专业WITH(THISFORM.TEXT2.VALUE)
REPL联系电话WITHVAL(THISFORM.TEXT4.VALUE)
messagebox("添加成功",64,"提示")
bo1.value=""
thisform.Text2.value=""
thisform.Text4.value=""
thisform.Text1.value=""
bo2.value=""
thisform.Text3.value=""
endif
endif
endif
endif
endif
endif
(4)读者信息查询表单
查询按钮的代码:
select读者
setfilterto姓名=alltrim(bo1.value)
thisform.grd读者.setfocus
thisform.refresh
(3)读者信息打印表单
5、连编程序