《VFP图书馆管理解决方案.docx》由会员分享,可在线阅读,更多相关《VFP图书馆管理解决方案.docx(17页珍藏版)》请在优知文库上搜索。
1、图书管理系统实例梅毅一、系统简介1、本图书管理系统,包括了对图书、作者、读者等基本信息的管理,也包括了借书信息,还书信息等的查询,和管理。本系统具有如下功能:可以修改、输入、查询、与图书有关的信息,如图书信息、读者信息、作者信息、图书借阅信息等:能打印图书信息,图书借阅信息等。2、本系统的总体设计树状图二、详细操作环节1、创立项目,名为图书管理系统2、数据库设计(D在项目中新建五个自由表,各自由表的字段值如下:表名字段一字段二字段三字段四字段五字段六字段七图书书号作者编号书名价格数如出版社借阅次数作者作者编号作者姓名职称联络备注照片读者读者编号读者姓名性别籍贯联络出生日期照片借阅读者编号读者姓
2、名书号借书日期还书日期顾客读者编号顾客名密码(2)在项目中创立一种数据库,并把五个表添加到数据库中。在图书表中,为书号建立主索引,为作者编号建立一般索引,通过该索引和作者表之间创立关联。在作者表中,为作者编号设置主索引。在读者表中,读者编号为主索引。在借阅表中,为读者编号、书号字段创立一般索引,通过书号和图书表之间关联;通过读者编号和读者表之间关联。在顾客表中,为读者编号建立索引,通过读者编号和读者表建立关联。最终形成如下图所示的数据库。昵数据库设计器-号名话:编姓电 :卜 段者若称系注片引bh 作职联备照保住习字段 读者号 读者姓名 书号借书日期 还书日期便漆引 dzbhsh 还书日期 借书
3、日期JJ 号 数 狷 社次 殴号者名格量版阅引 字书作书价数出借集M3、界面设计(1)系统启动表单在项目中创立一种表单,命名为启动。如下图,添加一种标签控件,两个命令按钮,按照自己的喜好分别设置他们的属性。在登录按钮的Click事件下写入如下代码:ThisForm.ReleaseDoform身份验证双击退出按钮,并在它的CliCk事件写下如下代码:Clearevent欢迎使用图书管理系St(2)创立身份验证表单在项目中创立,一种表单,保留为“身份验证”并按如下图添加控件,设置属性。身份验证进入退出身份验证请输入用户名请输入密码打开他的数据工作环境,把“顾客”表添加到其中,在进入的click事件
4、写入如下代码:ifalltrim(thisfbrm.Textl.value)oaHtrim(密码)messagebox(读不起,密码有误!你不能进入本系统,0,请注意:)elsethisform.releasedoform主表单endif在退出0click事件下写如下代码:thisform.releaseclearevent(3)创立主表单创立一种表单保留为“主表单”并且设置它的ShowVVmdows属性为“2作为顶层表单”如图设置它的其他控件属性。图书管理系统设置Forml对象0init事件代码为:do主菜单.mprwiththis,menux设置forml对象0destroy事件代码为re
5、leasemenumenuxextended设置forml对象0activate事件代码为thisform.Label1.Ieft=(thisfbrm.width-thisfbrm.Label1.width)/2Ihisform.Label2.1eft=(thisfbrm.width-thisform.Label2.width)/2thisform.LabeI3.1eft=(thisform.width-thisform.Label3.width)2thisform.Label1.top=thisform.height6thisform.Label2.top=thisfbrm.height*2
6、6thisform.Label3.top=thisform.height*36thisform.refresh设置forml对象的Resize事件代码为:Ihisform.Label1.lefl=(thisform.width-thisform.Label1.width)2thisform.Label2.1eft=(thisform.width-thisfbrm.Label2.width)2thisform.Label3.1eft=(thisfrm.width-thisirm.Label3.width)/2thisform.LabelI.top=thisform.height6thisform
7、.Label2.top=thisform.height*26thisform.Label3.top=thisform.height*36lhisform.refresh(4)创立主菜单如下图创立主菜单表单,并且选择“显示”“常规选项”“顶层表单”分别设置各个子菜单如下:信息录入菜单设计器-主菜单008菜单名称结果选项菜单级:t图书登记过程日编辑I二1I信息录入读者登记过程作者登记过程菜单项退出命令clearevents插入插入栏nnzk读者服务信息维护菜单设计器-主菜单UX区菜单名称结果选项菜单级:t读者信息过程编辑IdI信息维护-I图书信息过程借书信息过程菜单项作者信息过程插入插入栏.信息查
8、询诙单设计卷-主菜单.Bnx13叵菜单名称结果选项菜单级:t读者借书信息图书借阅信息过程过程编辑I信息查询作者图书信息读书密码信息子菜单子菜单插入I插入栏.报表打印菜单设计器-主菜单.nx菜单名称结果选项菜单级::图书清单子菜单创建71I报表打印“图书借阅情况子菜单菜单项插入i4cC.1XlZ.然后分别在各自的过程中写入对应的调用表单的命令。例如在读者登记菜单的过程中写入:Doform读者信息创立主程序文献创立主程序文献,将其保留为“主程序”在代码编辑窗口中,输入如下代码:clearallsettalkoffsetdefaulttoc:傣合设计doform启动modifywindowsscre
9、entitle图书管理系统readeventquit4、表单设计(i)图书登记表单如下图,创立一种名为图书登记B表单,在他的数据环境中添加表作者和图书。然后拖动对应的字段到表单中,按如图所示的位置放好。添加一种按钮组如图。设置按钮组的Click事件的代码为:docasecasethis.value=1gotopcasethis.value=2ifnotbof()casethis.value=3skipifeof()skip-1endifcasethis.value=4gobottomcasethis.value=5SUre=messagebox(需要增长图书信息吗?”,4+32+256,确认)
10、ifsure=6appendblankendifcasethis.value=6SUre=messagebox(需要删除目前图书信息吗?”,4+32+256,”确认)ifsure=6deletepackendifcasethis.value=7thisfrm.releaseendcase(2)借书登记表单如图新建一种表单,在他的数据环境中添加,图书表和借阅表,把对应的字段拖入表单中。按如图所示的位置放好立借书登记匕回如图添加一种命令按钮组并在他的CIiCk事件中写入如下代码:docasecasethis.value=1gotopcasethis.value=2ifnotbof()skip-1e
11、ndifcasethis.value=3skipifeof()skip-1endifcasethis.value=4gobottomcasethis.value=5SUre=messagebox(需要增长借书信息吗?,4+32+256,确认)ifsure=6appendblankendifcasethis.value=6SUre=messagebox(需要删除目前借书信息吗?”,4+32+256,确认”)ifsure=6deletepackendifcasethis.value=7thisfrm.releaseendcase设置文本框“txt书号”的IOStfoCUS事件代码为:select图
12、书locateforalltrim(45)=alltrim(thisform.txt书号.text)iffound()thisform.txt书名.refreshelsemessagebox(书库里无此书,请重输!”,256,”确认“)thisform.txt书号.setfocusendifthisform.refresh(3)读者信息维护表单创立一种表单,在其数据环境设计器中添加读者表,在表单上添加一种表格对象,一种命令按钮组对象,如图设置他们的属性。设置按钮的Click事件代码为:docasecasethis.value=1SUre=messagebox(需要添加读者信息吗?”,4+32+
13、256,“确认”)ifsure=6appendblankendifcasethis.value=2SUre=messagebox(确定要删除目前读者信息吗?”,4+32+256,“确认”)ifsure=6deleteendifcasethis.value=3lhisform.releaseendcasethisform.refresh/读者信息维护读者编号读者姓名性别出生日期籍贯联系电话照片abjabIablabllab州J皿Iabll增加读者I删除读者I关闭I(4)读者借书信息查询表单创立一种表单,如下图设置各个控件的属性。读者借书信息查询局回圜在他的数据环境中添加,读者表和借阅表。在他的查询按钮的CliCk事件下输入如下代码:setexactont