1、vfp综合设计实例 图书管理系统图书管理系统实例梅毅一、系统简介1、本图书管理系统,包含了对图书、作者、读者等基本信息的管理,也包含了借书信息,还书信息等的查询,和管理。本系统具有如下功能:能够修改、输入、查询、与图书有关的信息,如图书信息、读者信息、作者信息、图书借阅信息等:能打印图书信息,图书借阅信息等。2、本系统的总体设计树状图二、具体操作步骤1、创建项目,名为图书管理系统2、数据库设计(1)在项目中新建五个自由表,各自由表的字段值如下:表名字段一字段二字段三字段四字段五字段六字段七图书书号作者编号书名价格数量出版社借阅次数作者作者编号作者姓名职称联系电话备注照片读者读者编号读者姓名性别
2、籍贯联系电话出生日期照片借阅读者编号读者姓名书号借书日期还书日期用户读者编号用户名密码 (2)在项目中创建一个数据库,并把五个表添加到数据库中。在图书表中,为书号建立主索引,为作者编号建立普通索引,通过该索引和作者表之间创建关联。在作者表中,为作者编号设置主索引。在读者表中,读者编号为主索引。在借阅表中,为读者编号、书号字段创建普通索引,通过书号和图书表之间关联;通过读者编号和读者表之间关联。在用户表中,为读者编号建立索引,通过读者编号和读者表建立关联。最终形成如下图所示的数据库。3、界面设计(1)系统启动表单在项目中创建一个表单,命名为启动。如下图,添加一个标签控件,两个命令按钮,按照自己的
3、喜好分别设置他们的属性。在登录按钮的Click事件下写入如下代码:ThisForm.ReleaseDo form 身份验证双击退出按钮,并在它的Click事件写下如下代码: Clear event(2)创建身份验证表单 在项目中创建,一个表单,保存为“身份验证”并按以下图添加控件,设置属性。打开他的数据工作环境,把“用户”表添加到其中,在进入的click事件写入如下代码:locate for 用户名=thisform.Combo1.valueif alltrim(thisform.Text1.value)alltrim(密码) messagebox(读不起,密码有误!你不能进入本系统,0,请注
4、意:)else thisform.release do form 主表单endif在退出的click事件下写如下代码:thisform.releaseclear event(3)创建住表单创建一个表单保存为“主表单”并且设置它的ShowWindows属性为“2作为顶层表单”如图设置它的其他控件属性。设置Form1对象的init 事件代码为:do 主菜单.mpr with this,menux设置form1对象的destroy事件代码为release menu menux extended设置form1对象的activate事件代码为thisform.Label1.left=(thisform.
5、width-thisform.Label1.width)/2thisform.Label2.left=(thisform.width-thisform.Label2.width)/2thisform.Label3.left=(thisform.width-thisform.Label3.width)/2thisform.Label1.top=thisform.height/6thisform.Label2.top=thisform.height*2/6thisform.Label3.top=thisform.height*3/6thisform.refresh设置form1对象的Resize事
6、件代码为:thisform.Label1.left=(thisform.width-thisform.Label1.width)/2thisform.Label2.left=(thisform.width-thisform.Label2.width)/2thisform.Label3.left=(thisform.width-thisform.Label3.width)/2thisform.Label1.top=thisform.height/6thisform.Label2.top=thisform.height*2/6thisform.Label3.top=thisform.height*
7、3/6thisform.refresh(4)创建主菜单如下图创建主菜单表单,并且选择“显示”“常规选项”“顶层表单”分别设置各个子菜单如下:信息录入读者服务信息维护信息查询报表打印然后分别在各自的过程中写入相应的调用表单的命令。例如在读者登记菜单的过程中写入:Do form 读者信息(5)创建主程序文件创建主程序文件,将其保存为“主程序”在代码编辑窗口中,输入以下代码:clear all set talk offset default to c:综合设计do form 启动modify windows screen title 图书管理系统read eventquit4、表单设计(1)图书登记
8、表单如下图,创建一个名为图书登记的表单,在他的数据环境中添加表作者和图书。然后拖动相应的字段到表单中,按如图所示的位置放好。添加一个按钮组如图。设置按钮组的 Click事件的代码为:do case case this.value=1 go top case this.value=2 if not bof() skip-1 endif case this.value=3 skip if eof() skip-1 endif case this.value=4 go bottom case this.value=5 sure=messagebox(需要增加图书信息吗?,4+32+256,确认) i
9、f sure=6 append blank endif case this.value=6 sure=messagebox(需要删除当前图书信息吗?,4+32+256,确认) if sure=6 delete pack endif case this.value= 7 thisform. releaseendcasethisform.refresh(2)借书登记表单如图新建一个表单,在他的数据环境中添加,图书表和借阅表,把相应的字段拖入表单中。按如图所示的位置放好如图添加一个命令按钮组并在他的 click事件中写入如下代码:do case case this.value=1 go top ca
10、se this.value=2 if not bof() skip-1 endif case this.value=3 skip if eof() skip-1 endif case this.value=4 go bottom case this.value=5 sure=messagebox(需要增加借书信息吗?,4+32+256,确认) if sure=6 append blank endif case this.value=6 sure=messagebox(需要删除当前借书信息吗?,4+32+256,确认) if sure=6 delete pack endif case this.
11、value= 7 thisform. releaseendcasethisform.refresh设置文本框“txt书号”的lostfocus事件代码为:select 图书locate for alltrim(书号)=alltrim(thisform.txt书号.text)if found() thisform.txt书名.refreshelse messagebox(书库里无此书,请重输!,256,确认) thisform.txt书号.setfocusendifthisform.refresh(3)读者信息维护表单创建一个表单,在其数据环境设计器中添加读者表,在表单上添加一个表格对象,一个命
12、令按钮组对象,如图设置他们的属性。设置按钮的Click事件代码为:do case case this.value=1 sure=messagebox(需要添加读者信息吗?,4+32+256,确认) if sure=6 append blank endif case this.value=2 sure=messagebox(确定要删除当前读者信息吗?,4+32+256,确认) if sure=6 delete endif case this.value=3 thisform.releaseendcasethisform.Grid1.refreshthisform.refresh(4)读者借书信息
13、查询表单创建一个表单,如下图设置各个控件的属性。在他的数据环境中添加,读者表和借阅表。在他的查询按钮的click事件下输入如下代码:set exact onthisform.Grid1.recordsource=select读者编号,读者姓名,书号,借书日期,还书日期,from 借阅 where alltrim(读者编号)=alltrim(bo1.value)set exact off5、连编程序三、总结本系统虽然简单,但是可以勉强满足一般学习的需要。为广大学习vfp的大学生的作业很有帮助。相信我,我就是做的这个,得了高分。朋友们下载后别忘了评论啊,有不清楚的地方请联系我,或者由于我的疏忽,有遗漏的地方,请大家指正。我的QQ号是:214938296呵呵,记得加我的时候写明来意哈。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1