收藏 分销(赏)

vfp--图书馆管理新新系统.doc

上传人:w****g 文档编号:2668722 上传时间:2024-06-04 格式:DOC 页数:17 大小:228.04KB
下载 相关 举报
vfp--图书馆管理新新系统.doc_第1页
第1页 / 共17页
vfp--图书馆管理新新系统.doc_第2页
第2页 / 共17页
vfp--图书馆管理新新系统.doc_第3页
第3页 / 共17页
vfp--图书馆管理新新系统.doc_第4页
第4页 / 共17页
vfp--图书馆管理新新系统.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、vfp 图书馆管理新新系统 作者: 日期:17 个人收集整理 勿做商业用途摘要【摘要】随着社会经济发展,图书信息管理已经逐渐发展成为一门重要的学科,对图书信息的管理高效与否已成为衡量一个部门是否信息化的重要标志。现介绍的图书信息管理系统包括图书的基本信息管理、借阅管理、读者信息管理以及系统用户管理.系统的特点是操作方便,功能完备。本系统采用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),用于记录图书的基本信息,包括编号、书名、书号、作者及出版社等,其逻辑结构如表:图书信息表 字段名字段类型宽度索引否说明编号字符型10无无书号字符型10无无书名字符型40无无作者字符型8无无出版社字符型20无无定价双精度型6无无册数数值型3无无入库日期日期型8无无备注备注型4无无(2) 读者信息表(readerinfo),用于记录读者的基本信息,包括读者编号、姓名、详细住址及注册日期等,其逻辑结构如表:读者信息表 字段名字段类型宽度索引否说明读者编号字符型6无无姓名字符型10无

6、无性别字符型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固定对话框Autocenter。T.Maxbutton.F。Minbutton.F。showwindow0-在屏幕中Label1Caption用户名:Fontsize14Fontname宋体Label1Caption密码:Font

8、size14Command1Caption确定Command2Caption退出Text1,text2alignment0-居左Text2Password*在command1 的“click”事件中添加如下代码:select passwordinfoif allt(thisform.text1.value)= thisform.text1.setfocuselse if allt(thisform。text2.value)= thisform.text2。setfocus else locate for allt(用户名)=allt(thisform。text1.value); 。and.al

9、lt(密码)=allt(thisform。text2.value) if eof() messagebox(用户名或密码错误,请重新输入!”,64,提示”) thisform.text1。value= thisform。text2。value=” thisform。text1.setfocus() else cyonghu=allt(thisform.text1.value) cmima=allt(thisform.text2。value) do menu.mpr thisform.release endif endifendif在command2(退出)“click”事件中添加如下代码:th

10、isform.releaseclear eventquit(2)设计主界面 主界面为本系统最基本的功能模块,通过主界面的菜单能对系统的其他功能进行集中管理。主界面采用了顶层表单技术,使用界面友好,同时大大减轻了设计、编程的工作量。主界面属性表 对象名称属性名称属性值Form1Caption图书信息管理系统borderstyle3可调对话框Autocenter。t。Maxbutton。f.Mnbutton.t。showwindow2作为顶层表单建立一个名为“menu”的菜单文件,如表:图书信息管理系统菜单设计 图书管理读者管理图书服务系统管理录入图书信息录入读者信息图书查询用户注册修改图书信息修

11、改读者信息图书借还密码修改退出系统条形菜单中的4个菜单为下拉式菜单:6、图书管理模块设计 (1)建立一个新的表单,保存为“tslr如下图部分空间属性: 对象名称属性名称属性值Form1Caption录入图书信息Borderstyle3可调对话框Autocenter。T.Maxbutton。F。Minbutton。F.showwindow0-在屏幕中Command1Caption确定Command2Caption重填Command3Caption返回Command1中添加如下代码:use booksinfoif allt(thisform。text1。value)=” messagebox(”请

12、输入完整的必要信息!,64,”提示) thisform.text1。setfocuselse if allt(thisform.text2。value)=” messagebox(”请输入完整的必要信息!,64,提示”) thisform.text2.setfocus else if allt(thisform.text3。value)=” messagebox(请输入完整的必要信息!”,64,提示”) thisform.text3。setfocus else if allt(thisform.text4。value)=” messagebox(”请输入完整的必要信息!,64,提示”) thi

13、sform。text4.setfocus else if allt(thisform.text5。value)=” messagebox(请输入完整的必要信息!,64,”提示) thisform.text5。setfocus else if allt(thisform。text6。value)=” messagebox(”请输入完整的必要信息!,64,提示”) thisform。text6。setfocus else if allt(thisform。text7。value)= messagebox(”请输入完整的必要信息!,64,”提示”) thisform.text7.setfocus e

14、lse append blank repl 书号 with allt(thisform.text1。value) repl 编号 with allt(thisform.text2。value) repl 书名 with allt(thisform.text3。value) repl 作者 with allt(thisform.text4。value) repl 出版社 with allt(thisform.text5。value) repl 定价 with allt(thisform.text6。value) repl 册数 with allt(thisform.text7。value) re

15、pl 备注 with allt(thisform.edit1.value) repl 入库日期 with date() thisform .command2。click endif endif endif endif endif endif endif usecommand2中添加如下代码:thisform.text1.value=thisform。text2。value=”thisform.text3。value=thisform。text4.value=”thisform。text5。value=”thisform.text6.value=”thisform。text7.value=thi

16、sform。edit1.value=”thisform。text1.setfocuscommand2中添加如下代码:command3中添加如下代码:thisform.release(2) 设计图书信息修改表单建立一个新的表单,保存为“xxxg,部分控件属性如下: 对象名称属性名称属性值Form1Caption图书信息修改Borderstyle3可调对话框Autocenter。T.Maxbutton.F.Minbutton.F。showwindow0在屏幕中Command1Caption修改Command2Caption删除Command3Caption第一条Command4Caption最后一

17、条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中添加的代码:use book

18、sinfo exclusivego nheremb=messagebox(”确定要删除吗?”,1+64,提示”)if mb=1 delete pack thisform。label1。init if nherenum go bottom thisform。init else go nhere thisform.init endifendifCommand3中添加的代码:go topnhere=recno()thisform.label8.caption=allt(str(recno)mand4。enabled=。t。mand6.enabled=.t。thisform.initCommand4中

19、添加的代码:go bottomnhere=recno()thisform。label8.caption=allt(str(recno))thisform。command3.enabled=。t.mand5。enabled=.t.thisform.initCommand5中添加的代码:skip1if bof() this.enabled=.f。 mand3。enable=。f。 messagebox(”已经到第一条记录了!”,48,”提示”) go top nhere=recno()else thisform。init nhere=recno()endifmand4.enabled=.t.man

20、d6。enabled=.t。Command6中添加的代码:skip 1if eof() thisform。enabled=。f. mand4.enabled=。f. messagebox(”已经到最后一条记录了!”,48,”提示”) go bottom nhere=recno()else nhere=recno() thisform。initendifmand3。enabled=.t。thisform。command5.enabled=。t.Command7中添加的代码:sele booksinfogo topif allt(thisform。text7.value)=” messagebox

21、(”请输入要查询的内容!,64,提示”) thisform.text7.setfocuselse locate for allt(书名)=allt(thisform。text7.value) if eof() go bottom thisform.init messagebox(此书不存在,请重新输入!”,64,提示) thisform。text7.setfocus else thisform.init endif nhere=recno()endifCommand8中添加的代码:thisform.release7、读者模块设计(1)建立表单保存为“dzlr 对象名称属性名称属性值Form1C

22、aption录入图者信息Borderstyle3可调对话框Autocenter.T.Maxbutton.F。Minbutton.F。showwindow0在屏幕中Command1Caption确定Command2Caption重填Command3Caption返回Command1 中添加的代码:use readerinfoif allt(thisform。text1.value)=” messagebox(”请输入完整的必要信息!”,64,提示”) thisform.text1。setfocuselse if allt(thisform。text2。value)=” messagebox(请输

23、入完整的必要信息!”,64,”提示”) thisform。text2.setfocus else if allt(thisform.text4.value)=” messagebox(请输入完整的必要信息!”,64,提示) thisform。text3。setfocus else if allt(thisform。text5。value)=” messagebox(请输入完整的必要信息!,64,”提示) thisform.text4.setfocus else append blank repl 读者编号 with allt(thisform。text1。value) repl 姓名 with

24、 allt(thisform。text2.value) repl 年龄 with allt(thisform。text3。value) repl 联系电话 with allt(thisform。text4.value) repl 详细地址 with allt(thisform.text5。value) repl 压金 with val(allt(thisform.text6.value)) repl 备注 with allt(thisform.edit1.value) repl 注册日期 with date() if allt(thisform。combo1。value)=” repl 性别

25、with allt(bo1.displayvalue) else repl 性别 with allt(thisform。combo1。value) endif mand2。click endif endif endifendifuse Command2 中添加的代码:thisform.text1.value=”thisform.text2.value=”thisform。text3.value=”thisform。text4.value=”thisform.text5。value=”bo1.value=”bo1.displayvalue=”男”thisform.edit1。value=”thi

26、sform.text1.setfocusCommand3 中添加的代码:thisform.release(2)建立度读者信息修改表单,保存为“dzxg” 对象名称属性名称属性值Form1Caption读者信息修改Borderstyle3可调对话框Autocenter。T.Maxbutton.F。Minbutton.F。showwindow0-在屏幕中Command1Caption修改Command2Caption删除Command3Caption第一条Command4Caption最后一条Command5Caption上一条Command6Caption下一条Command7Caption快速

27、定位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 中添加的代码:use booksinfo exclusivego theremb=messagebox(确定要删除吗?”,1+64,提

28、示)if mb=1 delete pack thisform.label1。init if nherenum go bottom thisform.init else go nhere thisform.init endifendifCommand3 中添加的代码:go topnhere=recno()thisform。label8。caption=allt(str(recno())mand4。enabled=.t.mand6.enabled=。t。thisform.initCommand4 中添加的代码:go bottomnhere=recno()thisform.label8.captio

29、n=allt(str(recno()))mand3。enabled=。t.mand6.enabled=.t.thisform。initCommand5 中添加的代码:skip1if bof() this.enabled=.f。 thisform。command3.enable=。f. messagebox(已经到第一条记录了!,48,”提示”) go top nhere=recno()else thisform.init nhere=recno()endifmand4。enabled=。t。mand6。enabled=.t.Command6 中添加的代码:skip 1if eof() this

30、form。enabled=。f。 thisform。command4.enabled=.f。 messagebox(已经到最后一条记录了!,48,”提示) go bottom nhere=recno()else nhere=recno() thisform.initendifmand3.enabled=。t。thisform。command5.enabled=。t。Command7 中添加的代码:sele booksinfogo topif allt(thisform。text7。value)=” messagebox(请输入要查询的内容!”,64,”提示) thisform。text7。se

31、tfocuselse locate for allt(书名)=allt(thisform。text7.value) if eof() go bottom thisform。init messagebox(此书不存在,请重新输入!”,64,”提示”) thisform.text7。setfocus else thisform.init endif nhere=recno()endifCommand8 中添加的代码thisform.release8、系统管理模块设计(1)建立一个新的表单,保存为“yhzc”,部分控件属性: 对象名称属性名称属性值Form1Caption用户注册Borderstyl

32、e2-固定对话框Autocenter。T。Maxbutton。F。Minbutton。F。showwindow0-在屏幕中Command1Caption注册Command2Caption取消Command1中添加的代码:select passwordinfoif allt(thisform.text1。value)=” thisform.text1。setfocuselse locate for allt(用户名)=allt(thisform。text1。value) if !eof() messagebox(”用户名已存在,请重新输入!,64,提示”) thisform.text1.valu

33、e= thisform。text2.value=” thisform。text1.setfocus() else if allt(thisform。text2。value)=” messagebox(请输入密码!,64,提示”) thisform。text2。setfocus else if !allt(thisform.text2.value)=allt(thisform。text3.value) messagebox(”确认密码错误,请重新输入!”,64,信息提示) thisform.text3。value=” thisform。text3.setfocus else append bla

34、nk repl 用户名 with allt(thisform。text1。value) repl 密码 with allt(thisform。text2。value) thisform。text1。value=” thisform.text2。value=” thisform.text3。value=” endif endif endifendif Command2中添加的代码:thisform.release (2)建立一个新的表单,保存为“yhxg”,部分控件属性: 对象名称属性名称属性值Form1Caption修改用户密码Borderstyle2-固定对话框Autocenter。T.Ma

35、xbutton.F.Minbutton。F。showwindow0-在屏幕中Command1Caption修改Command2Caption取消Command1中添加的代码:select passwordinfoif allt(thisform.text1。value)=” thisform。text1.setfocuselse locate for allt(用户名)=allt(thisform。text1。value) if eof() messagebox(”此用户不存在,请重新输入!,64,提示) thisform。text1。value=” thisform。text2。value=

36、” thisform。text3。value=” thisform.text4。value=” thisform.text1.setfocus() else if !allt(thisform.text2.value)=” messagebox(”密码错误,请重新输入!,64,提示) thisform。text2。value=” thisform。text3.value=” thisform。text4.value=” thisform。text2。setfocus() else if allt(thisform.text3.value)=” messagebox(”请输入新密码!”,64,提示”) thisform.text3。setfocus else if !allt(thisform.text3。value)=all

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服