《2022年vfp图馆管理新新完整.docx》由会员分享,可在线阅读,更多相关《2022年vfp图馆管理新新完整.docx(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、摘要【摘要】随着社会经济进展,图书信息治理已经逐步进展成为一门重要的学科,对图书信息的治理高效与否已成为衡量一个部门是否信息化的重要标志;现介绍的图书信息治理系统包括图书的基本信息治理、借阅治理、读者信息治理以及系统用户治理;系统的特点是操作便利,功能完备;本系统采纳Visual Foxpro 作为开发工具;通过此系统的开发可以使读者明白治理信息系统的需求分析、设计和实现的完整过程,把握数据库的基本设计和管理方法,积存数据库应用系统实战体会;【关键词】图书信息治理系统系统分析与总体设计1、【系统需求分析】本系统用于实现与图书治理相关的各种信息的系统化、规范化和自动化;该图书信息治理系统完成的主
2、要功能有:l 图书治理;包括图书入库治理和修改图书信息;l 读者治理;包括对录入读者信息和修改读者信息;l 图书服务;包括借阅图书和图书查询;l 系统治理;用于治理系统用户;2、【开发及运行环境】系统发平台: Microsoft Visual FoxPro 6.0 ;运行平台: Windows XP/ Windows 2000/ Windows 2003辨论率:正确成效1024768 像素3、【系统模块设计预览】需求分析,建立教务治理系统的规律模型,如下图:图书治理图书信息治理系统读者治理图书服务图书查询借仍图书系统用户治理针对各个模块不同的表实现添加记录、修改记录、删除记录以及查询、显示记录
3、等功能;(1) 登录“登录 ”窗体如图,操作员使用系统前,要输入正确的用户名和密码,才可以进入“图书信息治理系统 ”进行下一步操作;登录窗口(2) 主界面通过登录验证以后,进入主界面窗体,通过主窗体,操作员可以便利地调用“图书信息治理系统 ”内的各项功能;主界面(3) 图书治理单击上图中的 “图书治理 ”菜单,可以进行图书治理操作,比如单击“图书入库 ”子菜单, 就可以弹出如下窗口:单击 “修改图书信息 ”按钮,弹出 “修改图书信息 ”窗口,可以对图书信息进行修改;如图:(4) 读者治理单击主界面中的 “读者治理 ”菜单,可以进行读者治理操作,比如单击“录入读者信息 ”子菜单,弹出 “录入读者
4、信息 ”窗口,同时仍可以进行 “修改读者信息 ”操作,如下图:(5) 图书服务单击主界面中的 “图书服务 ”菜单,可以进行图书服务操作,比如单击 “图书查询 ”子菜单,弹出 “查询、预约、借阅图书 ”窗口,在此窗口中可以查询、预约、借阅图书;单击 “借仍图书 ”按钮,弹出 “个人借阅图书 ”窗口,可以借阅及归仍图书;如下图 “(6) 系统用户治理单击 “主界面 ”中的 “系统治理 ”菜单,可以进行系统治理操作,比如单击 “用户注册 ”子菜单,弹出 “用户注册 ”窗口,在此窗口中可以注册新用户;单击 “修改密码 ”按钮,弹出 “用户修改密码 ”窗口,可以修改当前用户的密码;4、数据库结构设计本系
5、统数据库包含4 表,即图书信息表、读者信息表、借阅图书表和用户表;下面分别介绍这些表的结构;(1)图书信息表( booksinfo ),用于记录图书的基本信息,包括编号、书名、书号、作者( 2)读者信息表( readerinfo ),用于记录读者的基本信息,包括读者编号、姓名、详细住址及注册日期等,其规律结构如表:读者信息表及出版社等,其规律结构如表: 图书信息表字段名字段类型宽度索引否说明编号字符型10无无书号字符型10无无书名字符型40无无作者字符型8无无出版社字符型20无无定价双精度型6无无册数数值型3无无入库日期日期型8无无备注备注型4无无字段名字段类型宽度索引否说明读者编号字符型6无
6、无姓名字符型10无无性别字符型10无无年龄数值型8无无具体地址字符型20无无联系电话字符型11无无注册日期日期型8无无压金数值型3无无是否答应借规律型1无无( 3)借阅图书表( leadinfo ),用于记录借阅图书的基本信息,包括书号、读者编号、借阅日期、预约日期、借阅天数及归仍日期等,其规律结构如表:借阅图书表字段名字段类型宽度索引否说明书号字符型6无无读者编号字符型10无无借阅日期日期型8无无预约日期日期型8无无借阅天数数值型2无无归仍日期日期型8无无借阅情形字符型20无无是否延期规律型1无无备注备注型4无无( 4)用户表( passwordinfo ),用于记录用户的基本信息,包括用户
7、名及密码等,其规律结构如表:字段名字段类型宽度索引否说明用户名字符型6无系统的用户姓名密码字符型10无用户密码5、登录窗体和系统主界面设计当系统运行时,第一打开登录表单,只有有权限的用户才能进入系统;登录胜利后,将显示系统主界面;(1) 设计登录窗体新建一个表单,储存为“log(”登录),表单及控件属性如表:对象名称属性名称属性值Form1Caption用户登录Borderstyle2-固定对话框AutocenterMaxbutton.T.F.Minbutton.F.showwindow0-在屏幕中Label1Caption用户名:Fontsize Fontname14宋体Label1Capt
8、ion密码:Fontsize14Command1Caption确定Command2Caption退出Text1,text2alignment0-居左Text2Password*在 command1 的“click 事”件中添加如下代码:select passwordinfoif alltthisform.text1.value= thisform.text1.setfocuselseif alltthisform.text2.value= thisform.text2.setfocuselselocate for allt 用户名 =alltthisform.text1.value ;.and
9、.allt 密码 =alltthisform.text2.valueif eofmessagebox用户名或密码错误,请重新输入!,64, 提示 thisform.text1.value=thisform.text2.value= thisform.text1.setfocuselsecyonghu=alltthisform.text1.value cmima=alltthisform.text2.value do menu.mprthisform.releaseendif endifendif在 command2(退出) “click 事”件中添加如下代码:thisform.release
10、clear eventquit(2) 设计主界面主界面为本系统最基本的功能模块,通过主界面的菜单能对系统的其他功能进行集中治理;主界面采纳了顶层表单技术,使用界面友好,同时大大减轻了设计、编程的工作量;主界面属性表对象名称属性名称属性值Form1Caption图书信息治理系统borderstyleAutocenter3-可调对话框.t.MaxbuttonMnbutton.f.t.showwindow2-作为顶层表单建立一个名为 “menu”的菜单文件,如表:图书信息治理系统菜单设计图书治理读者治理图书服务系统治理录入图书信息录入读者信息图书查询用户注册修改图书信息修改读者信息图书借仍密码修改条
11、形菜单中的4 个菜单为下拉式菜单:退出系统6、图书治理模块设计( 1)建立一个新的表单,储存为“ tslr如下”图部分空间属性:对象名称属性名称Form1CaptionBorderstyleAutocenter Maxbutton Minbutton showwindowCommand1CaptionCommand2CaptionCommand3Caption属性值录入图书信息3-可调对话框.T.F.F.0-在屏幕中确定重填返回Command1 中添加如下代码:use booksinfoif alltthisform.text1.value=messagebox请输入完整的必要信息!,64,
12、提示 thisform.text1.setfocuselseif alltthisform.text2.value=messagebox请输入完整的必要信息!,64, 提示 thisform.text2.setfocuselseif alltthisform.text3.value=messagebox请输入完整的必要信息!,64, 提示 thisform.text3.setfocuselseif alltthisform.text4.value=messagebox请输入完整的必要信息!,64, 提示 thisform.text4.setfocuselseif alltthisform.te
13、xt5.value=messagebox请输入完整的必要信息!,64, 提示 thisform.text5.setfocuselseif alltthisform.text6.value=messagebox请输入完整的必要信息!,64, 提示 thisform.text6.setfocuselseif alltthisform.text7.value=messagebox请输入完整的必要信息!,64, 提示 thisform.text7.setfocus elseappend blankrepl 书号 with alltthisform.text1.value repl 编号 with al
14、ltthisform.text2.value repl 书名 with alltthisform.text3.value repl 作者 with alltthisform.text4.value repl 出版社 with alltthisform.text5.value repl 定价 with alltthisform.text6.value repl 册数 with alltthisform.text7.value repl 备注 with alltthisform.edit1.value repl 入库日期 with datethisform .command2.click endi
15、fendif endifendif endifendifendif usecommand2 中添加如下代码:thisform.text1.value= thisform.text2.value= thisform.text3.value= thisform.text4.value= thisform.text5.value= thisform.text6.value= thisform.text7.value= thisform.edit1.value= thisform.text1.setfocus command2 中添加如下代码:command3 中添加如下代码:thisform.rel
16、ease(2)设计图书信息修改表单对象名称Form1Command1属性名称Caption Borderstyle Autocenter MaxbuttonMinbuttonshowwindowCaption属性值图书信息修改3 可调对话框.T.F.F.0-在屏幕中修改建立一个新的表单,储存为“xxxg”,部分控件属性如下:Command2Caption删除Command3Caption第一条Command4Caption最终一条Command5Caption上一条Command6Caption下一条Command7Caption快速定位Command8Caption返回Command1 中添
17、加的代码:thisform.text1.readonly=.f.thisform.text2.readonly=.f.thisform.text3.readonly=.f.thisform.text4.readonly=.f.thisform.text5.readonly=.f.thisform.text6.readonly=.f.thisform.edit1.readonly=.f.Command2 中添加的代码:use booksinfo exclusivego nheremb=messagebox确定要删除吗? ,1+64, 提示 if mb=1delete packthisform.l
18、abel1.initif nherenum go bottom thisform.initelsego nhere thisform.initendifendifCommand3 中添加的代码:go top nhere=recnothisform.label8.caption=alltstrrecnomand4.enabled=.t. mand6.enabled=.t. thisform.initCommand4 中添加的代码:go bottom nhere=recnothisform.label8.caption=alltstrrecno mand3.enabled=.t. mand5.en
19、abled=.t.thisform.initCommand5 中添加的代码:skip-1 if bofthis.enabled=.f. mand3.enable=.f.messagebox已经到第一条记录了!,48, 提示 go top nhere=recnoelsethisform.init nhere=recnoendif mand4.enabled=.t. mand6.enabled=.t. Command6 中添加的代码:skip 1if eof thisform.enabled=.f.mand4.enabled=.f.messagebox已经到最终一条记录了!,48, 提示 go b
20、ottomnhere=recno elsenhere=recno thisform.initendifmand3.enabled=.t. mand5.enabled=.t. Command7 中添加的代码: sele booksinfogo topif alltthisform.text7.value=messagebox请输入要查询的内容!,64, 提示 thisform.text7.setfocuselselocate for allt 书名 =alltthisform.text7.value if eofgo bottom thisform.initmessagebox此书不存在,请重新
21、输入!,64, 提示 thisform.text7.setfocuselsethisform.init endif nhere=recnoendifCommand8 中添加的代码:thisform.release7、读者模块设计(1)建立表单储存为“dzlr”对象名称属性名称属性值Form1Caption录入图者信息BorderstyleAutocenter3-可调对话框.T.Maxbutton.F.Minbutton.F.Command1showwindowCaption0-在屏幕中确定Command2Caption重填Command3Caption返回Command1 中添加的代码:use
22、 readerinfoif alltthisform.text1.value=messagebox请输入完整的必要信息!,64, 提示 thisform.text1.setfocuselseif alltthisform.text2.value=messagebox请输入完整的必要信息!,64, 提示 thisform.text2.setfocuselseif alltthisform.text4.value=messagebox请输入完整的必要信息!,64, 提示 thisform.text3.setfocuselseif alltthisform.text5.value=messagebo
23、x请输入完整的必要信息!,64, 提示 thisform.text4.setfocuselseappend blankrepl 读者编号 with alltthisform.text1.value repl 姓名 with alltthisform.text2.valuerepl 年龄 with alltthisform.text3.valuerepl 联系电话 with alltthisform.text4.valuerepl 具体地址 with alltthisform.text5.value repl 压金 with valalltthisform.text6.value repl 备注
24、 with alltthisform.edit1.valuerepl 注册日期 with dateif alltbo1.value=repl 性别 with alltbo1.displayvalue elserepl 性别 with alltbo1.value endifmand2.click endifendif endifendif useCommand2 中添加的代码:thisform.text1.value= thisform.text2.value= thisform.text3.value= thisform.text4.value= thisform.text5.value= b
25、o1.value= bo1.displayvalue= 男 thisform.edit1.value= thisform.text1.setfocusCommand3 中添加的代码:thisform.release(2)建立度读者信息修改表单,储存为“dzxg”对象名称属性名称属性值Form1Caption读者信息修改BorderstyleAutocenter3 可调对话框.T.MaxbuttonMinbutton.F.F.Command1showwindowCaption0-在屏幕中修改Command2Caption删除Command3Caption第一条Command4Caption最终一
26、条Command5Caption上一条Command6Caption下一条Command7Caption快速定位Command8Caption返回Command1 中添加的代码:thisform.text1.readonly=.f. thisform.text2.readonly=.f. thisform.text3.readonly=.f. thisform.text4.readonly=.f. thisform.text5.readonly=.f. thisform.text6.readonly=.f. thisform.edit1.readonly=.f. Command2 中添加的代码
27、:use booksinfo exclusivego theremb=messagebox确定要删除吗? ,1+64, 提示 if mb=1delete packthisform.label1.init if nherenumgo bottom thisform.initelsego nhere thisform.initendif endifCommand3 中添加的代码:go top nhere=recnothisform.label8.caption=alltstrrecno mand4.enabled=.t. mand6.enabled=.t. thisform.initCommand
28、4 中添加的代码:go bottom nhere=recnothisform.label8.caption=alltstrrecno mand3.enabled=.t. mand6.enabled=.t. thisform.initCommand5 中添加的代码:skip-1 if bofthis.enabled=.f. mand3.enable=.f.messagebox已经到第一条记录了!,48, 提示 go topnhere=recno elsethisform.init nhere=recnoendif mand4.enabled=.t. mand6.enabled=.t. Comma
29、nd6 中添加的代码:skip 1if eof thisform.enabled=.f.mand4.enabled=.f.messagebox已经到最终一条记录了!,48, 提示 go bottomnhere=recno elsenhere=recno thisform.initendifmand3.enabled=.t. mand5.enabled=.t.Command7 中添加的代码:sele booksinfo go topif alltthisform.text7.value=messagebox请输入要查询的内容!,64, 提示 thisform.text7.setfocuselse
30、locate for allt 书名 =alltthisform.text7.value if eofgo bottom thisform.initmessagebox此书不存在,请重新输入!,64, 提示 thisform.text7.setfocuselsethisform.init endif nhere=recnoendifCommand8 中添加的代码thisform.release8、系统治理模块设计对象名称Form1Command1 Command2属性名称Caption BorderstyleAutocenter Maxbutton Minbutton showwindowCa
31、ptionCaption属性值用户注册2-固定对话框.T.F.F.0-在屏幕中注册取消( 1)建立一个新的表单,储存为“ yhzc,”部分控件属性:Command1 中添加的代码:select passwordinfoif alltthisform.text1.value= thisform.text1.setfocuselselocate for allt 用户名 =alltthisform.text1.value if .eofmessagebox用户名已存在,请重新输入!,64, 提示 thisform.text1.value=thisform.text2.value= thisform
32、.text1.setfocuselseif alltthisform.text2.value= messagebox请输入密码! ,64, 提示 thisform.text2.setfocuselseif .alltthisform.text2.value=alltthisform.text3.value messagebox确认密码错误,请重新输入!,64, 信息提示 thisform.text3.value=thisform.text3.setfocus elseappend blankrepl 用户名 with alltthisform.text1.value repl 密码 with
33、alltthisform.text2.value thisform.text1.value=thisform.text2.value= thisform.text3.value=endif endifendif endifCommand2 中添加的代码:thisform.release(2)建立一个新的表单,储存为“yhxg”,部分控件属性:对象名称Form1Command1 Command2属性名称Caption Borderstyle Autocenter MaxbuttonMinbuttonshowwindow CaptionCaption属性值修改用户密码2-固定对话框.T.F.F.0
34、-在屏幕中修改取消Command1 中添加的代码:select passwordinfoif alltthisform.text1.value= thisform.text1.setfocuselselocate for allt 用户名 =alltthisform.text1.value if eofmessagebox此用户不存在,请重新输入!,64, 提示 thisform.text1.value=thisform.text2.value= thisform.text3.value= thisform.text4.value= thisform.text1.setfocuselseif
35、.alltthisform.text2.value=messagebox密码错误,请重新输入!,64, 提示 thisform.text2.value=thisform.text3.value= thisform.text4.value= thisform.text2.setfocuselseif alltthisform.text3.value=messagebox请输入新密码! ,64, 提示 thisform.text3.setfocuselseif .alltthisform.text3.value=alltthisform.text4.valuemessagebox确认密码错误,请重新输入!,64, 提示 thisform.text4.value=thisform.text3.setfocus elserepl 密码 with alltthisform.text4.valuethisform.release endifendifendif endifendifCommand2 中添加的代码:thisform.release附录:参考文献1. Visual Foxpro 6.0 数据库原理与应用2. Visual Foxpro 数据库应用实例完全解读
限制150内