资源描述
个人收集整理 勿做商业用途
学校图书管理系统
学校:
姓名:
学号:
专业:
指导老师:
目 录
摘要……。。。………………………………………………………………3
一 引论……。.。…………………………………………………………4
二 需求分析…….。.……………………………………………………6
三 系统设计……。。.……………………………………………………9
(一)总体设计……。。.……………………………………………9
(二)详细设计……。.。………………………………………….。10
(1)开始界面……。。。………………………………….。10
(2)系统界面……。..…………………………………..12
(3)系统初始化界面……。。.………………………… 。13
(4)图书资料界面……。。.……………………………..15
(5)读者信息界面……。。.……………………………。.18
(6)借阅信息界面…….。。…………………………….。23
(三)数据库及数据表的设计与创建……。。。…………………。.25
四 编译与连接…….。。………………………………………………。.。28
五 总结…….。。……………………………………………………….。。29
参考文献…….。.………………………………………………………..。30
摘 要
随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。从而使我们从繁杂的事务中解放出来,提高了我们的工作效率。
图书管理系统是智能办公系统(IOA)的重要组成部分,因此,图书管理系统也以方便、快捷的优点正慢慢地进入人们的生活,将传统的图书管理方式彻底的解脱出来,提高效率,减轻人们以往繁忙的工作,减小出错的概率,使读者可以花更多的时间在选择书和看书上。从而使人们有更多时间来获取信息、了解信息、掌握信息。其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。基于具有强大的数据库管理功能的Visual Foxpro 6.0设计图书管理系统,实现了实现图书库存的管理、借阅人员基本情况登记、图书借阅、归还统计、打印各类统计结果等功能。本文所设计的学校图书管理系统可以满足学生和教师借阅者、图书管理员两方面的需要,达到了设计要求.
关键词:图书管理;Visual Foxpro 6.0;数据库管理;系统设计
29
第 页
一 引论
随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息系统的作用也越来越大。在信息化建设过程中,图书馆是一个不可忽视的部门,尤其是高校图书馆,以其巨大的信息蕴藏量、吞吐量和利用率,连接着教学、科研和技术部门,建立一套有效的图书信息管理系统,可以减轻工作,将工作科学化、规范化,提高了图书馆信息管理的工作质量因此根据图书馆目前实际的管理情况开发一套图书管理系统是十分必要的。
据统计,我国现有高校图书馆1080个,院系资料室5759个,图书馆、资料室一直是高校师生获得文献信息的基本来源。一直以来人们使用传统的人工方式管理图书馆的日常工作,对于图书馆的借书和还书过程,想必大家都已很熟悉。在计算机尚未在图书管理系统广泛使用之前,借书和还书过程主要依靠手工。传统的图书管理模式其最大的特点是手工;首先要把买来的图书资料登记到资料本上,再给每本书分类贴上标签及制作和标签相对应的图书分类卡片,最后把图书分类卡片按类别分别放置在文件柜里.对于有学生(教师)证的学生(教师)来说还要对他们资料作一定的记录.一个最典型的手工处理还书过程就是:读者将要借的书和借阅证交给工作人员,工作人员将每本书上附带的描述书的信息的卡片和读者的借阅证放在一个小格栏里,并在借阅证和每本书贴的借阅条上填写借阅信息。这样借书过程就完成了。还书时,读者将要还的书交给工作人员,工作人员根据图书信息找到相应的书卡和借阅证,并填好相应的还书信息,这样还书过程就完成了。
传统图书管理的特点是一直以来,中小型书店、中小学的小型图书馆及各高校图书馆和资料室使用传统的人工方式管理图书档案、会员档案。这种管理方式存在着诸多缺点,如:手续繁琐、工作量大、效率低下、出错率高等,同时给对大量资料的查询、更新及维护都带来不少困难。随着近年来信息技术及计算机网络技术的不断发展, 图书馆也先从传统的图书馆发展到自动化图书馆,再发展到今天的数字图书馆,这些变化使得图书馆的形象越来越现代化,人们查找资料也更加方便.
计算机的应用主要是计算机软件的使用和开发,可以说,没有软件,就没有计算机的应用。尤其是处理大量数据时,必须要有稳定可靠的数据库管理系统,以Visual FoxPro 6.0 中文版为应用软件的开发平台,它具有严谨的数据库结构、先进的面向对象模型、完善的主从结构,所开发的各类应用软件易学易用,可视化程度高。Visual FoxPro简称VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。Visual FoxPro源于美国Fox Software公司推出的数据库产品FoxBase,在DOS上运行,与xBase系列相容。FoxPro原来是FoxBase的加强版,最高版本曾出过2。6。之后,Fox Software被微软收购,加以发展, 使其可以在 Windows 上运行, 并且更名为 Visual FoxPro.目前最新版为 Visual FoxPro 9.0,而在学校教学和教育部门考证中还依然延用经典版的 Visual FoxPro 6.0。在桌面型数据库应用中,处理速度极快,是日常工作中的得力助手。文档为个人收集整理,来源于网络文档为个人收集整理,来源于网络
由于数据库具有数据结构化,高度共享,冗余度低,程序和数据相对独立,易开发,易编写修改应用程序的特点,所以数据库技术得到了广泛的应用。为了检验三年来所学的知识,设计学校图书管理系统,主要是为了更好更方便的管理学校图书借阅登记、读者信息、图书库存统计等工作。根据学校实际情况,实现学生借阅情况录入、查询和变更等日常工作。该系统是对学校图书馆的图、人员资料进行管理,为馆藏图书的流通作业提供一整套操作简单、可靠、界面友好、易于维护的处理工具。系统对图书编目、借阅流通等数据进行统一处理,避免数据存放、数据录入时的重复,提高工作效率,减少系统数据处理的复杂性。
图书馆的管理直接关系到我们大学生如何更好的使用图书,更充分的利用现有资源学习,提高自身素质的.开发此图书管理系统软件,也是对实现数字化图书管理的支持,能从中学习知识吸取经验,在技术和软件思想上同时得到锻炼和提高,从而使总体水平提升到一个新的高度。图书管理系统的实现,可以着眼于数字化借阅,简化学生图书查询流程,简化图书外借登记手续,即提高借阅效率又可实现图书借阅的完整进出记录,保证图书的合理使用,让广大师生受益。
二 需求分析
随着互联网的爆炸性发展,人们越来越习惯于利用网络来实现所需的服务,网络已深深影响到人们生活的各个方面.另外,传统的图书馆不能满足一部分现代人的需要,而电子阅览室,由于其不受时间与空间的限制同时又具有传统图书馆的大部分功能,能够满足各类用户的常规与特殊需求,而且其方便快捷,实现技术又比较成熟,因此受到当代人的喜爱。
该系统主要分为两部分:读者部分和管理员部分。为了方便读者查找自己感兴趣的主题进行阅读,要将图书按照内容进行分类。读者可以按照类别进行查找,逐级浏览、可以查看自己的信息。本系统还可对用户的账号和书目的阅读权限进行管理。管理员需要给用户分配用户名和密码,及设定用户的级别,还为用户提供图书的排行榜让用户能知道那些图书受到大家的欢迎。
学校图书管理系统是所有大中小学校所必须的,它包括对学生借阅情况登记卡、新书录入、查询、变更和打印输出等。如果手工统计,人数较多,工作量较大,耗时费力,采用计算机管理,可使人们从繁重的劳动中解脱出来,仅一些简单的操作便可及时、准确地获得需要的数据。
1。 学校图书管理系统的开发主要要实现的目标有以下几个方面:
(1)界面设计友好、美观。
(2)数据存储安全、可靠。
(3)信息分类清晰、准确。
(4)强大的查询功能,保证数据查询的灵活性。
(5)实现对图书借阅和归还过程的全程数据信息跟踪。
(6)提供图书借阅排行榜,为图书管理员提供了真实的数据信息。
(7)提供灵活、方便的权限设置功能,使整个系统的管理分工明确。
(8)具有易维护性和易操作性。
2。 学校图书管理系统功能模块设计如下:
(1)系统设置模块:添加删除管理员、设置管理员的权限、说明图书存放书架信息添加删除书架信息。
(2)读者管理模块:添加删除不同类型的读者及注明可借图书的数量、添加删除读者的档案.
(3)图书管理模块:添加删除不同类型的的图书及注明图书可借的天数库存数量、添加删除图书的档案。
(4)图书借还模块:可查询读者借阅和归还图书的信息及图书的现有库存量。
(5)系统查询模块:可根据不同的条件(条形码、书名、类别、作者、书架、出版社)查询读者需要的图书、读者可根据不同的条件(图书条形码、图书名称、读者编号、读者名字、到期时间)查询自己借阅图书信息。
(6)排行榜模块:可以让读者知道图书借阅的排行榜及读者借阅的排行榜。
基于Visual Foxpro 6。0具有强大的数据库管理功能设计该系统,操作界面直观,简单快捷,比较实用。Visual FoxPro 6。0 能够得到广泛的使用,这是与其具有的强大的功能分不开的,Visual FoxPro 6。0有鲜明的特点.
(1) 提供多种可视化编程工具,最突出的是面向对象编程。
(2) 在表的设计方面,增添了表的字段和控件直接结合的设置.
(3)对项目及数据库控制的增强
在 Visual FoxPro 6.0 中可以借助“项目管理器”创建和集中管理应用程序中的任何元素;可以访问所有向导、生成器、工具栏和其他易于使用的工具.
(4)提高应用程序开发的效率
Visual FoxPro 6.0 增加了面向对象的语言和方式。借助 Visual FoxPro 6.0 的对象模型,可以充分使用面向对象程序设计的所有功能.
(5)互操作性和支持 Internet
Visual FoxPro 6.0 支持具有对象的链接与嵌入(OLE)拖放,可以在Visual FoxPro 6。0和其他应用程序之间,或在Visual FoxPro 6。0应用程序内部移动数据。
(6)充分利用已有数据
Visual FoxPro 6.0 为升级数据库提供了一个方便实用的转换器工具,可以将早期版本中的数据移植过来使用;对于电子表格或文本文件中的数据,Visual FoxPro 6。0 也可以方便的实现数据共享。
本系统是采用面向对象的程序设计思想进行编制的,整个系统由若干个表单、类、报表组成,由项目管理器统一管理全部程序的编写和调试。用户可通过主表单调用系统和各项功能.
面向对象程序设计不再是单纯的从代码的第一行一直编写到最后一行,而是考虑如何创建类和对象,利用类和对象来简化程序设计,便于程序的维护与扩展。
其主要功能:
1. 实现图书库存的管理
2. 借阅人员基本情况登记
3. 图书借阅、归还统计
4. 打印各类统计结果
运行环境:
1.软件环境:
运用Microsoft Visual Foxpro 6.0中文版设计开发此系统,具有简单、方便、快捷等特点.
系统需要安装Microsoft Visual Foxpro 6。0中文版和Windows系列操作系统。
2.硬件环境:
586及以上机型
200M以上硬盘空间
32M以上内存。
三 系统设计
(一)总体设计
根据图书管理系统的实际需求,可以将图书管理系统划分为初始化模块、图书资料模块、读者信息模块、借阅登记模块、退出系统模块五个部分。各个部分的具体功能的系统功能结构图如下图3—1所示.
系统开始界面
学校图书管理系统
系统初始化
图书资料
退出系统
库存图书浏览
新书录入
录入读者资料
读者浏览
读者信息
图书查询
读者查询
借阅登记
借书信息浏览
借阅信息查询
1、 系统初始化模块
初始化模块设计主要目的是清除当前系统所有基本库中数据,包括借书人员信息数据表、图书库存信息表和图书借出信息表。方便用户重新录入数据。
2、 图书资料模块
图书资料管理模块的主要功能是完成图书的录入、查询、浏览等操作。可浏览库中所有图书的书书名、作者、出版社、出版日期、单价和册数;查询处理可按书名和出版社分类查询,并将结果显示于表中.
3、 读者信息模块
读者信息模块完成读者基本情况登记、查询和浏览工作,包括借书人姓名、借书证号、职务、单位等。
4、 借阅登记模块
借阅登记模块主要任务完成借书人借书的基本情况浏览和查询处理工作.
仅仅建立数据库文件还是很不够的,一个数据库文件至多只是一些数据的集合,只有编制一定的程序对其进行管理,从中按用户要求产生数据,才能成为供用户使用的信息。VisualFoxPro6。0提供了各式各样的命令语句和函数使其成为可能。在结构模块化设计思想的指导下,本系统采用了模块化的程序设计,将系统分成几个独立的功能模块,每个大模块又由几个小模块组成。这样,在各自的表单状态下,由各个模块完成相应的功能.结构化设计思想使程序清晰易懂,操作简便,大大提高了设计的效率,而且最大限度地减少不必要的错误.
(二)详细设计
(1)制作开始界面表单
1、系统开始界面表单的创建与布局:
开始界面表单作为系统的封面,可以体现系统的规范性和完整性,也可以对系统起到修饰作用,因此,在这里我们先制作一个“系统开始界面表单”。如下图:
制作过程如下:
(1) 打开项目管理器,切换至“文档”页面.
(2) 在“文档”页面中,选中“表单”节点.
(3) 单击“新建"按钮,会出现表单创建方式的对话框,再单击“新建表单”按钮,就会出现一个空白的表单Form1。将表单保存在:“D:\学校图书管理系统\FORMS”中,并命名为“开始界面"。
(4) 为了表单的美观,先将一张图片复制到“D:\学校图书管理系统\INCLUDE”中。
(5) 通过表单(Picture)属性引入先前复制的图片。
(6) 在表单中插入标签控件Label1,将(CAPTION)属性设置为“欢迎使用”;字体为:华文彩云;字号为:26,颜色为:红色;(Back Style)设置为“0—透明)。
(7) 在表单中插入标签控件Label2,将(CAPTION)属性设置为“学校图书管理系统”;字体为:宋体;字号为:26,颜色为:紫色;(Back Style)设置为“0—透明).
(8) 在表单中添加两个命令按钮Command1和Command2,(CAPTION)属性分别设置为:“进入”和“退出系统”。
2。 制表单的相关代码:
编写相应的代码,可以使表单顺利地运行。
(1)“进入”按钮对应的Click事件代码为:
do form d:\学校图书管理系统\FORMS\系统界面.scx
thisform。release
(2):“退出系统”按钮对应的Click事件代码为:
clear all
quit
3. 验证表单:
在编制完成表单后,单击“运行”按钮,进行验证,可以有效地查找,代码和表单界面设计中不合理的地方,然后再进行修改。
(2)制作系统界面主表单
制作系统界面表单,其目的是为了便于管理数据表中各种数据。如下图所示:
1. 系统界面表单的创建与布局:
1) 开项目管理器,切换至“文档”页面。
2) “文档”页面中,选中“表单”节点。
3) 击“新建”按钮,会出现表单创建方式的对话框,再单击“新建表单”按钮,就会出现一个空白的表单Form1。将表单保存在:“D:\学校管理系统\FORMS”中,并命名为“系统界面"。
4) 改表单的属性:(Border Style)为“3—可调边框";(Show Window)设置为“作为顶层表单";(Title Bar)设置为“0-关闭”,并且适当调整表单的大小.
5) 表单顶部插入标签控件Label1,将(CAPTION)属性设置为“图书管理系统主表单";字体为:楷体;字号为:12,颜色为:红色;(Back Style)设置为“0—透明)。
6) 表单中添加五个命令按钮Command1至Command5,(CAPTION)属性分别设置为:“系统初始化”、“图书资料”、“读者信息"、“借阅浏览”、和“退出系统”。
2。 编制表单的相关代码:
(1) 编制“退出系统"的命令Click事件代码:
thisform.releASE
(2) 编制“系统初始化"命令Click事件代码:
do form d:\学校图书管理系统\forms\系统界面。SCX
THISFORM。REFRESH
(3) 编制“图书资料”命令Click事件代码:
do form d:\学校图书管理系统\forms\图书资料.SCX
THISFORM.REFRESH
(4) 编制“读者信息”命令Click事件代码:
do form d:\学校图书管理系统\forms\读者注册信息。SCX
THISFORM。REFRESH
(5) 编制“借阅浏览"命令Click事件代码:
do form d:\学校图书管理系统\forms\图书借出信息.SCX
THISFORM.REFRESH
3. 验证表单:
在编制完成表单后,单击“运行"按钮,进行验证,可以有效地查找,代码和表单界面设计中不合理的地方,然后再进行修改。
(3)作系统初始化表单
为了便于实现对系统中各个数据表的操作,创建系统初始化表单.如下图:
1。 系统初始化表单的创建与布局:
1)开项目管理器,切换至“文档"页面.
2)在“文档”页面中,选中“表单”节点.
3)单击“新建"按钮,会出现表单创建方式的对话框,再单击“新建表单”按钮,就会出现一个空白的表单Form1.将表单保存在:“D:\学校图书管理系统\FORMS”中,并命名为“初始化"。
4)改表单的属性:(Border Style)为“3—可调边框”;(Show Window)设置为“作为顶层表单”;(Title Bar)设置为“0—关闭",并且适当调整表单的大小。
5)表单中插入一个Commandgroup1(命令按钮组)Button Count属性为“3”;并且分别取名称为“借书人员信息表、图书信息表和图书借出信息表”。
6)表单中添加两个命令按钮Command1和,command2,其(CAPTION)属性设置分别为:“确定”和“取消”。
2。 制表单的相关代码:
在“借书人员信息表”项的CLICK事件代码编写如下:
use d:\学校图书管理系统\data\借书人员信息表。dbf excl
在“图书信息表"项的CLICK事件代码编写如下:
use d:\学校图书管理系统\data\图书信息表。dbf excl
在“借书借出信息表”项的CLICK事件代码编写如下:
use d:\学校图书管理系统\data\借书借出信息表。dbf excl
在“确定"项的CLICK事件代码编写如下:
messagebox(“确实要清除该表中数据吗?”,4,“信息窗口”)
ZAP,最后进行表单验证,修改并调试运行。
(4)制作图书资料表单
1.图书资料管理为用户提供图书资料。如图:
2. 图书资料表单的创建与布局。如图:
1)打开项目管理器,切换至“文档”页面.
2)在“文档”页面中,选中“表单”节点.
3)单击“新建”按钮,会出现表单创建方式的对话框,再单击“表单向导”按钮,就会出现一个“向导选取”对话框,选定“表单向导”后,单击“确定"按钮。
4)在“表单向导”中,选择生成此表单的数据表来源,“图书资料”,并且把可用字段全部添加到“选定字段"下。然后,单击“下一步”按钮.
5)选择表单样式为“标准式”和按钮类型为“文本按钮"后,再单击“下一步”按钮。
6)“下一步".
7)键如表单题目“图书资料表单”。
8)单击“完成”按钮.
3. 编制表单的相关代码:
在“分类查询"窗口内,“确定”按钮对应Click事件的代码为:
nrecord=recno(’图书信息表’)
cindexname=iif(thisform.optiongroup1。value=1,’书名’,'出版社')
if seek(thisform。text1。value,'图书信息表’,cindexname)
thisformset。form1.refresh
else
messagebox(’指定的数据不存在!’,0,’信息查询')
go nrecord in’图书信息表’
endif
thisform。visible=.f.
“取消”按对应Click事件的代码为:
thisform。visible=。f.
“按书名查询或按出版社查询"选项对应Click事件的代码为:
LPARAMETERS cName, cClass
if this.value=1
thisform.label2.caption="请输入书名:"
else
thisform。label2.caption=”请输入出版社:"
endif
thisform。text1.setfocus
图书资料表单内含三个页面,在其页面中使用了类库,对应按钮代码如下:
“首记录"对应Click事件代码为:
go top
this。parent.setall("enabled”, .t.)
this.parent。command2.enabled=。f.
this。mand1.enabled=.f.
thisform。refresh
“上一记录”对应Click事件代码为:
skip -1
this。parent。setall("enabled", .t.)
if bof()
=messagebox("指针已到表头”,0+48,"提示”)
mand1。enabled=。f.
this.parent。command2。enabled=。f。
endif
thisform。refresh
“下一记录”对应Click事件代码为:
kip 1
this。parent。setall(”enabled”,。t.)
if eof()
=messagebox("指针已到表尾",0+48,"提示")
this.parent。command4。enabled=。f.
this.parent。command3.enabled=.f.
endif
thisform。refresh
“末记录"对应Click事件代码为:
go bottom
this.parent.setall(”enabled", .t。)
this。mand3。enabled=.f。
this。mand4。enabled=。f。
thisform。refresh
“查询”对应Click事件代码为:
thisformset。form2。visible=。t。
thisformset.form2。show
“录入”对应Click事件代码为:
select 图书信息表
append blank
go bottom
this.parent。refresh
this。parent。txt藏书号.setfocus
dimension nn[9]
nn[1]=this.parent.txt藏书号。value
nn[2]=this。parent.txt书名.value
nn[3]=this.parent.txt作者.value
nn[4]=this。parent。txt出版社.value
nn[5]=this.parent.txt出版日期。value
nn[6]=this.parent。txt单价.value
nn[7]=this.parent。txt册数.value
gather from nn
thisformset.refresh
return
“清除”对应Click事件代码为:
this.parent.txt藏书号。value=""
this。parent。txt书名.value=""
this.parent.txt作者。value=""
this.parent.txt出版社。value=”"
this.parent.txt出版日期。value=""
this。parent。txt单价。value=””
this。parent。txt册数.value=””
this.parent.txt藏书号.setfocus
thisformset.refresh
“退出”对应Click事件代码为:
thisformset。release
4。 验证表单:
在编制完成表单后,单击“运行"按钮,进行验证,可以有效地查找,代码和表单界面设计中不合理的地方,然后再进行修改。
(5)制作读者信息表单
1.读者信息用于记录读者的详细信息.如图:
2。 读者信息表单的创建与布局。如图:
(1)打开项目管理器,切换至“文档"页面.
(2)在“文档"页面中,选中“表单"节点。
(3)单击“新建”按钮,会出现表单创建方式的对话框,再单击“表单向导"按钮,就会出现一个“向导选取”对话框,选定“表单向导”后,单击“确定”按钮。
(4)在“表单向导"中,选择生成此表单的数据表来源,“读者注册信息"并且把可用字段全部添加到“选定字段”下。然后,单击“下一步”按钮。
(5)选择表单样式为“凹陷式”和按钮类型为“图片按钮"后,再单击“下一步”按钮。
(6)“下一步”。
(7)键如表单题目“读者信息表单"。
(8)单击“完成”按钮.
3. 编制表单的相关代码:
在“分类查询”窗口内,“确定"按钮对应Click事件的代码为:
nrecord=recno(’借书人员信息表’)
cindexname=iif(thisform.optiongroup1。value=1,'姓名',’单位')
if seek(thisform。text1。value,'借书人员信息表',cindexname)
thisformset.form1。refresh
else
messagebox('指定的数据不存在!’,0,'信息查询')
go nrecord in’借书人员信息表’
endif
thisform。visible=.f.
“取消"按对应Click事件的代码为:
thisform.visible=。f.
“按姓名查询或按单位查询"选项对应Click事件的代码为:
LPARAMETERS cName, cClass
if this。value=1
thisform。label2.caption=”请输入姓名:"
else
thisform.label2。caption=”请输入单位:"
endif
thisform。text1。setfocus
读者注册信息表单内含三个页面,在其页面中使用了类库,对应按钮代码如下:
“首记录”对应Click事件代码为:
go top
this。parent.setall("enabled”, 。t。)
this。mand2.enabled=。f.
this。mand1。enabled=.f。
thisform.refresh
“上一记录"对应Click事件代码为:
skip —1
this。parent.setall("enabled”, 。t。)
if bof()
=messagebox("指针已到表头”,0+48,”提示”)
mand1.enabled=。f。
mand2。enabled=.f.
endif
thisform。refresh
“下一记录"对应Click事件代码为:
kip 1
this.parent.setall(”enabled",.t。)
if eof()
=messagebox("指针已到表尾”,0+48,"提示")
this.parent。command4。enabled=.f。
this。parent。command3。enabled=。f.
endif
thisform.refresh
“末记录"对应Click事件代码为:
go bottom
this.parent。setall("enabled”, .t.)
this。mand3。enabled=。f.
this。parent。command4。enabled=。f.
thisform。refresh
“查询”对应Click事件代码为:
thisformset。form2.visible=.t.
thisformset.form2。show
“录入”对应Click事件代码为:
select 借书人员信息表
append blank
go bottom
this。parent.refresh
this。parent.txt借书证号。setfocus
dimension nn[9]
nn[1]=this.parent。txt借书证号。value
nn[2]=this.parent。txt职务。value
nn[3]=this.parent.txt单位。value
gather from nn
thisformset.refresh
return
“清除”对应Click事件代码为:
this。parent.txt借书证号。value=”"
this。parent。txt姓名.value="”
this.parent。txt职务。value="”
this。parent.txt单位.value=””
this。parent.txt借书证号。setfocus
thisformset。refresh
“退出”对应Click事件代码为:
thisformset.release
4. 验证表单:
在编制完成表单后,单击“运行"按钮,进行验证,可以有效地查找,代码和表单界面设计中不合理的地方,然后再进行修改。
(6)制作借阅信息表单
1.图书信息完成用户的借书过程。如图:
2.还书系统完成图书的归还过程。如图:
3。 借阅信息表单的创建与布局。如图:
(1)打开项目管理器,切换至“文档”页面.
(2)在“文档”页面中,选中“表单"节点。
(3)单击“新建"按钮,会出现表单创建方式的对话框,再单击“表单向导”按钮,就会出现一个“向导选取”对话框,选定“表单向导"后,单击“确定"按钮.
(4)在“表单向导”中,选择生成此表单的数据表来源,“读者注册信息”并且把可用字段全部添加到“选定字段”下。然后,单击“下一步”按钮。
(5)选择表单样式为“凹陷式"和按钮类型为“图片按钮"后,再单击“下一步"按钮。
(6)“下一步”。
(7)键如表单题目“借阅信息表单”。
(8)单击“完成”按钮。
4。 编制表单的相关代码:
借阅信息表单内含二个页面,在其页面中使用了类库,对应按钮代码如下:
“首记录”对应Click事件代码为:
go top
this.parent。setall(”enabled”, .t。)
this。parent。command2。enabled=.f.
this。parent。command1.enabled=.f.
thisform.refresh
“上一记录”对应Click事件代码为:
skip —1
this。parent.setall(”enabled", 。t.)
if bof()
=messagebox(”指针已到表头",0+48,"提示”)
this。parent。command1.enabled=.f.
this。mand2.enabled=。f.
endif
thisform.refresh
“下一记录”对应Click事件代码为:
kip 1
this。parent.setall("enabled",.t。)
if eof()
=messagebox(”指针已到表尾",0+48,"提示")
this。parent。command4.enabled=.f。
this。parent。command3。enabled=.f。
endif
thisform。refresh
“末记录”对应Click事件代码为:
go bottom
this.parent.setall(”enabled", .t。)
this。mand3。enabled=。f.
this.parent。command4.enabled=.f。
thisform.refresh
“退出"对应Click事件代码为:
thisformset。release
5。 验证表单:
在编制完成表单后,单击“运行”按钮,进行验证,代码和表单界面设计中不合理的地方进行修改.
(三)数据库及数据表的设计与创建
学校图书管理系统涉及三方面的数据:首先创建数据库,包括图书信息表、借书人员信息表和图书借出信息表。通过项目管理器来建立数据库和表格文件,这样文件自然地就被包含在项目中了。创建数据表的结构如下:
1、 图书信息表结构
字段名
数据类型
字段宽度
藏书号
C型
8
书名
C型
40
作者
C型
8
出版社
C型
20
出版日期
D型
8
单价
N型
6。2
册数
N型
2
2、 图书借出信息表结构
字段名
数据类型
字段宽度
借书证号
C型
6
姓名
C型
8
藏书号
C型
8
借书日期
D型
8
3、 借书人员信息表结构
字段名
数据类型
字段宽度
借书证号
C型
6
姓名
C型
8
职务
C型
8
单位
D型
10
为了使用上述数据表,要为这些表分别建立索引并在它们之间建立永久关系。把图书信息表中的藏书号和借书人员信息表中的借书证号设置为主索引,其他均为普通索引.
操作过程如下:
1. 创建“学校图书管理数据库”:
在打开的VFP环境下,使用已经创建的“图书管理
展开阅读全文