vfp图馆管理新新完整.docx
- 文档编号:7160261
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:23
- 大小:20.79KB
vfp图馆管理新新完整.docx
《vfp图馆管理新新完整.docx》由会员分享,可在线阅读,更多相关《vfp图馆管理新新完整.docx(23页珍藏版)》请在冰豆网上搜索。
vfp图馆管理新新完整
摘要
【摘要】随着社会经济发展,图书信息管理已经逐渐发展成为一门重要的学科,对图书信息的管理高效与否已成为衡量一个部门是否信息化的重要标志。
现介绍的图书信息管理系统包括图书的基本信息管理、借阅管理、读者信息管理以及系统用户管理。
系统的特点是操作方便,功能完备。
本系统采用VisualFoxpro作为开发工具。
通过此系统的开发可以使读者了解管理信息系统的需求分析、设计和实现的完整过程,掌握数据库的基本设计和管理方法,积累数据库应用系统实战经验。
【关键词】图书信息管理系统
系统分析与总体设计
1、【系统需求分析】本系统用于实现与图书管理相关的各种信息的系统化、规范化和自动化。
该图书信息管理系统完成的主要功能有:
l 图书管理。
包括图书入库管理和修改图书信息。
l 读者管理。
包括对录入读者信息和修改读者信息。
l 图书服务。
包括借阅图书和图书查询。
l 系统管理。
用于管理系统用户。
2、【开发及运行环境】
系统发平台:
MicrosoftVisualFoxPro6.0。
运行平台:
WindowsXP/Windows2000/Windows2003
分辨率:
最佳效果1024×768像素
3、【系统模块设计预览】
需求分析,建立教务管理系统的逻辑模型,如下图:
图书管理
图书信息管理系统
读者管理
图书服务 『图书查询
借还图书』
系统用户管理
针对各个模块不同的表实现添加记录、修改记录、删除记录以及查询、显示记录等功能。
(1) 登录
“登录”窗体如图,操作员使用系统前,要输入正确的用户名和密码,才可以进入“图书信息管理系统”进行下一步操作。
登录窗口
(2)主界面
通过登录验证以后,进入主界面窗体,通过主窗体,操作员可以方便地调用“图书信息管理系统”内的各项功能。
主界面
(3)图书管理
单击上图中的“图书管理”菜单,可以进行图书管理操作,比如单击“图书入库”子菜单,就可以弹出如下窗口:
单击“修改图书信息”按钮,弹出“修改图书信息”窗口,可以对图书信息进行修改。
如图:
(4)读者管理
单击主界面中的“读者管理”菜单,可以进行读者管理操作,比如单击“录入读者信息”子菜单,弹出“录入读者信息”窗口,同时还可以进行“修改读者信息”操作,如下图:
(5)图书服务
单击主界面中的“图书服务”菜单,可以进行图书服务操作,比如单击“图书查询”子菜单,弹出“查询、预约、借阅图书”窗口,在此窗口中可以查询、预约、借阅图书。
单击“借还图书”按钮,弹出“个人借阅图书”窗口,可以借阅及归还图书。
如下图“
(6)系统用户管理
单击“主界面”中的“系统管理”菜单,可以进行系统管理操作,比如单击“用户注册”子菜单,弹出“用户注册”窗口,在此窗口中可以注册新用户。
单击“修改密码”按钮,弹出“用户修改密码”窗口,可以修改当前用户的密码。
4、数据库结构设计
本系统数据库包含4表,即图书信息表、读者信息表、借阅图书表和用户表。
下面分别介绍这些表的结构。
(1)图书信息表(booksinfo),用于记录图书的基本信息,包括编号、书名、书号、作者及出版社等,其逻辑结构如表:
图书信息表
字段名
字段类型
宽度
索引否
说明
编号
字符型
10
无
无
书号
字符型
10
无
无
书名
字符型
40
无
无
作者
字符型
8
无
无
出版社
字符型
20
无
无
定价
双精度型
6
无
无
册数
数值型
3
无
无
入库日期
日期型
8
无
无
备注
备注型
4
无
无
(2) 读者信息表(readerinfo),用于记录读者的基本信息,包括读者编号、姓名、详细住址及注册日期等,其逻辑结构如表:
读者信息表
字段名
字段类型
宽度
索引否
说明
读者编号
字符型
6
无
无
姓名
字符型
10
无
无
性别
字符型
10
无
无
年龄
数值型
8
无
无
详细地址
字符型
20
无
无
联系电话
字符型
11
无
无
注册日期
日期型
8
无
无
压金
数值型
3
无
无
是否允许借
逻辑型
1
无
无
(3) 借阅图书表(leadinfo),用于记录借阅图书的基本信息,包括书号、读者编号、借阅日期、预约日期、借阅天数及归还日期等,其逻辑结构如表:
借阅图书表
字段名
字段类型
宽度
索引否
说明
书号
字符型
6
无
无
读者编号
字符型
10
无
无
借阅日期
日期型
8
无
无
预约日期
日期型
8
无
无
借阅天数
数值型
2
无
无
归还日期
日期型
8
无
无
借阅情况
字符型
20
无
无
是否延期
逻辑型
1
无
无
备注
备注型
4
无
无
(4)用户表(passwordinfo),用于记录用户的基本信息,包括用户名及密码等,其逻辑结构如表:
字段名
字段类型
宽度
索引否
说明
用户名
字符型
6
无
系统的用户姓名
密码
字符型
10
无
用户密码
5、登录窗体和系统主界面设计
当系统运行时,首先打开登录表单,只有有权限的用户才能进入系统。
登录成功后,将显示系统主界面。
(1) 设计登录窗体
新建一个表单,保存为“log”(登录),表单及控件属性如表:
对象名称
属性名称
属性值
Form1
Caption
用户登录
Borderstyle
2-固定对话框
Autocenter
.T.
Maxbutton
.F.
Minbutton
.F.
showwindow
0-在屏幕中
Label1
Caption
用户名:
Fontsize
14
Fontname
宋体
Label1
Caption
密码:
Fontsize
14
Command1
Caption
确定
Command2
Caption
退出
Text1,text2
alignment
0-居左
Text2
Password
*
在command1的“click”事件中添加如下代码:
selectpasswordinfo
ifallt(thisform.text1.value)==""
thisform.text1.setfocus
else
ifallt(thisform.text2.value)==""
thisform.text2.setfocus
else
locateforallt(用户名)=allt(thisform.text1.value)。
.and.allt(密码)=allt(thisform.text2.value)
ifeof()
messagebox("用户名或密码错误,请重新输入!
",64,"提示")
thisform.text1.value=""
thisform.text2.value=""
thisform.text1.setfocus()
else
cyonghu=allt(thisform.text1.value)
cmima=allt(thisform.text2.value)
domenu.mpr
thisform.release
endif
endif
endif
在command2(退出)“click”事件中添加如下代码:
thisform.release
clearevent
quit
(2)设计主界面
主界面为本系统最基本的功能模块,通过主界面的菜单能对系统的其他功能进行集中管理。
主界面采用了顶层表单技术,使用界面友好,同时大大减轻了设计、编程的工作量。
主界面属性表
对象名称
属性名称
属性值
Form1
Caption
图书信息管理系统
borderstyle
3-可调对话框
Autocenter
.t.
Maxbutton
.f.
Mnbutton
.t.
showwindow
2-作为顶层表单
建立一个名为“menu”的菜单文件,如表:
图书信息管理系统菜单设计
图书管理
读者管理
图书服务
系统管理
录入图书信息
录入读者信息
图书查询
用户注册
修改图书信息
修改读者信息
图书借还
密码修改
退出系统
条形菜单中的4个菜单为下拉式菜单:
6、图书管理模块设计
(1)建立一个新的表单,保存为“tslr”如下图部分空间属性:
对象名称
属性名称
属性值
Form1
Caption
录入图书信息
Borderstyle
3-可调对话框
Autocenter
.T.
Maxbutton
.F.
Minbutton
.F.
showwindow
0-在屏幕中
Command1
Caption
确定
Command2
Caption
重填
Command3
Caption
返回
Command1中添加如下代码:
usebooksinfo
ifallt(thisform.text1.value)==""
messagebox("请输入完整的必要信息!
",64,"提示")
thisform.text1.setfocus
else
ifallt(thisform.text2.value)==""
messagebox("请输入完整的必要信息!
",64,"提示")
thisform.text2.setfocus
else
ifallt(thisform.text3.value)==""
messagebox("请输入完整的必要信息!
",64,"提示")
thisform.text3.setfocus
else
ifallt(thisform.text4.value)==""
messagebox("请输入完整的必要信息!
",64,"提示")
thisform.text4.setfocus
else
ifallt(thisform.text5.value)==""
messagebox("请输入完整的必要信息!
",64,"提示")
thisform.text5.setfocus
else
ifallt(thisform.text6.value)==""
messagebox("请输入完整的必要信息!
",64,"提示")
thisform.text6.setfocus
else
ifallt(thisform.text7.value)==""
messagebox("请输入完整的必要信息!
",64,"提示")
thisform.text7.setfocus
else
appendblank
repl书号withallt(thisform.text1.value)
repl编号withallt(thisform.text2.value)
repl书名withallt(thisform.text3.value)
repl作者withallt(thisform.text4.value)
repl出版社withallt(thisform.text5.value)
repl定价withallt(thisform.text6.value)
repl册数withallt(thisform.text7.value)
repl备注withallt(thisform.edit1.value)
repl入库日期withdate()
thisform.command2.click
endif
endif
endif
endif
endif
endif
endif
use
command2中添加如下代码:
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.release
(2) 设计图书信息修改表单
建立一个新的表单,保存为“xxxg”,部分控件属性如下:
对象名称
属性名称
属性值
Form1
Caption
图书信息修改
Borderstyle
3可调对话框
Autocenter
.T.
Maxbutton
.F.
Minbutton
.F.
showwindow
0-在屏幕中
Command1
Caption
修改
Command2
Caption
删除
Command3
Caption
第一条
Command4
Caption
最后一条
Command5
Caption
上一条
Command6
Caption
下一条
Command7
Caption
快速定位
Command8
Caption
返回
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中添加的代码:
usebooksinfoexclusive
gonhere
mb=messagebox("确定要删除吗?
",1+64,"提示")
ifmb==1
delete
pack
thisform.label1.init
ifnhere>num
gobottom
thisform.init
else
gonhere
thisform.init
endif
endif
Command3中添加的代码:
gotop
nhere=recno()
thisform.label8.caption=allt(str(recno))
mand4.enabled=.t.
mand6.enabled=.t.
thisform.init
Command4中添加的代码:
gobottom
nhere=recno()
thisform.label8.caption=allt(str(recno))
mand3.enabled=.t.
mand5.enabled=.t.
thisform.init
Command5中添加的代码:
skip-1
ifbof()
this.enabled=.f.
mand3.enable=.f.
messagebox("已经到第一条记录了!
",48,"提示")
gotop
nhere=recno()
else
thisform.init
nhere=recno()
endif
mand4.enabled=.t.
mand6.enabled=.t.
Command6中添加的代码:
skip1
ifeof()
thisform.enabled=.f.
mand4.enabled=.f.
messagebox("已经到最后一条记录了!
",48,"提示")
gobottom
nhere=recno()
else
nhere=recno()
thisform.init
endif
mand3.enabled=.t.
mand5.enabled=.t.
Command7中添加的代码:
selebooksinfo
gotop
ifallt(thisform.text7.value)==""
messagebox("请输入要查询的内容!
",64,"提示")
thisform.text7.setfocus
else
locateforallt(书名)=allt(thisform.text7.value)
ifeof()
gobottom
thisform.init
messagebox("此书不存在,请重新输入!
",64,"提示")
thisform.text7.setfocus
else
thisform.init
endif
nhere=recno()
endif
Command8中添加的代码:
thisform.release
7、读者模块设计
(1)建立表单保存为“dzlr”
对象名称
属性名称
属性值
Form1
Caption
录入图者信息
Borderstyle
3-可调对话框
Autocenter
.T.
Maxbutton
.F.
Minbutton
.F.
showwindow
0-在屏幕中
Command1
Caption
确定
Command2
Caption
重填
Command3
Caption
返回
Command1中添加的代码:
usereaderinfo
ifallt(thisform.text1.value)==""
messagebox("请输入完整的必要信息!
",64,"提示")
thisform.text1.setfocus
else
ifallt(thisform.text2.value)==""
messagebox("请输入完整的必要信息!
",64,"提示")
thisform.text2.setfocus
else
ifallt(thisform.text4.value)==""
messagebox("请输入完整的必要信息!
",64,"提示")
thisform.text3.setfocus
else
ifallt(thisform.text5.value)==""
messagebox("请输入完整的必要信息!
",64,"提示")
thisform.text4.setfocus
else
appendblank
repl读者编号withallt(thisform.text1.value)
repl姓名withallt(thisform.text2.value)
repl年龄withallt(thisform.text3.value)
repl联系电话withallt(thisform.text4.value)
repl详细地址withallt(thisform.text5.value)
repl压金withval(allt(thisform.text6.value))
repl备注withallt(thisform.edit1.value)
repl注册日期withdate()
ifallt(bo1.value)==""
repl性别withallt(bo1.displayvalue)
else
repl性别withallt(bo1.value)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vfp 管理 新新 完整
![提示](https://static.bdocx.com/images/bang_tan.gif)