图书管理系统论文 1需求分析
1.1任务概述
经过详细调查本软件以小型图书馆或者图书室使用。多次与负责图书馆管
理的老师进行研讨后加深了对现行图书管理业务的深刻了解与此同时将整
个图书管理的业务流程抽象描述如下[1]
1.新的图书购进后分门别类地进行归并并汇总加以编号。
2.
新书编号后上到书架以备学生借阅。
3.如某学生需要借阅图书则在其本人的借阅登记表上进行登记记录相关
借阅信息与借阅日期。
4.学生借阅图书后应及时归还图书并在本人的借阅登记表上注明还书日
期和时间。
根据以上调查分析可以给出其现行业务流程图和组织结构图。如图1.1.1
和1.1.2所示。
图1
.1.1 现行图书管理业务流程图 https://www.doczj.com/doc/5a18998507.html,
图1.1.2 图书馆组织结构图 1.2 数据描述(数据流图+
数据字典)
数据流程分析是把数据在组织或原系统内部的流动情况抽象的独立出来
舍去了具体组织机构、信息载体、处理工作、物资材料等单从数据流动过程来
考察实际业务的实际业务的数据处理模式主要包括对信息的流动、传递、处理、
存储等的分析。 https://www.doczj.com/doc/5a18998507.html,
经过详细的调查我们已经清楚了解了现行的业务流程[1]接下来给出系统
的逻辑模型。构造系统逻辑模型的工具是数据流图和数据字典。根据现行图书管
理的业务流程首先把数据流图中的源点和终点都选定为学生因此可以得到图
书管理系统的基本系统模型[2]如图1.2.3所示。
图1.2.3 图书管理系统的基本系统模型 根据基本系统模型对其逐步细化得到描述逻辑系统细化后的数据流图
如图1.2.4所示。 https://www.doczj.com/doc/5a18998507.html,
借书业务第一层PDF
借书业务第二层PDF
图1.2.4
有了系统的数据流图后还有相当多的数据信息如图书、借阅、归还等信息
需要进一步描述这就是需要定义数据字典[2]才能把现有的系统描述清楚。图
1.2.5列出了系统的主要数据字典。 https://www.doczj.com/doc/5a18998507.html,
名称管理员
别名gly
定义管理员信息=管理员编号+管理员名字+密码+加入时间+
级别
位置
描述记录管理员信息 名称借阅请求
别名jyqq
描述学生借阅请求信息
定义借阅请求=借阅ID+学生学号+图书ID
位置 名称归还图书
别名ghts
描述归还图书的相关信息
定义归还图书=借阅ID+学生学号+图书ID+归还日期
位置 https://www.doczj.com/doc/5a18998507.html,名称管理条例1
别名gltl1
定义管理条例1=借阅ID+未过规定时间归还
位置
描述对正常归还图书的处理 名称借阅结果
别名jyjg
定义借阅结果=借阅ID+图书ID+学生
学号+借出否+提示信息
位置
描述是否借阅成功的返还结果 名称归还结果
别名ghjg
定义归还结果=借阅ID+图书ID+学生学号+已归还否+提示信
息
位置
描述归还图书成功的返还结果
1.2.5 系统主要数据字典 1.3 功能需求
经过以上详细的用户调查在现行业务流程和数据分析的基础上基本可以
确定系统设计必须达到的目标。
以下是图书管理系统必须具备的功能
1.新图书的登记功能对于购进的新书系统必须具备图书信息资料的录入
功能。
2.图书的查询修改功能当图书资料发生变化如图书丢失或有错误信息输
入时则应能够及时对数据进行修改和补充。
3.借阅的登记归还的登记功能系统的主要功能之一供本校学生借阅图
书、归还图书并进行登记。
4.学生信息的增加、删除和修改功能系统主要功能之一建立学生信息
并对其进行维护。 https://www.doczj.com/doc/5a18998507.html,5.系统管理员对管理员的权限设置功能对管理员设置权限功能。
1.4 性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行图书管理系统应
该满足以下的性能需求
1.系统处理的准确性和及时性
系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中
要充分考虑系统当前和将来可能承受的工作量使系统的处理能力和响应时间能
够满足学校对信息处理的需求。
2.系统的开放性和系统的可扩充性
图书管理系统在开发过程中应该充分考虑以后的可扩充性。例如用户查询
的需求也会不断的更新和完善。所有这些都要求系统提供足够的手段进行功能
的调整和扩充。而要实现这一点应通过系统的开放性来完成既系统应是一个
开放系统只要符合一定的规范可以简单的加入和减少系统的模块配置系统
的硬件。通过软件的修补、替换完成系统的升级和更新换代。
3.系统的易用性和易维护性
图书管理系统是直接面对使用人员的而使用人员往往对计算机并不时非常
熟悉。这就要求系统能够提供良好的用户接口易用的人机交互界面。要实现这
一点就要求系统应该尽量使用用户熟悉的术语和中文信息的界面针对用户可
能出现的使用问题要提供足够的在线帮助缩短用户对系统熟悉的过程。
4.
系统的标准性
系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。所有这些都
要符合主流国际、国家和行业标准。
5.系统的先进性
目前计算系统的技术发展相当快做为图书管理系统工程在系统的生命周
期尽量做到系统的先进充分完
成企业信息处理的要求而不至于落后。这一方面
通过系统的开放性和可扩充性不断改善系统的功能完成。另一方面在系统设
计和开发的过程中应在考虑成本的基础上尽量采用当前主流并先进且有良好发
展前途的产品。
6.系统的响应速度
图书管理系统系统在日常处理中的响应速度为秒级达到实时要求以及时https://www.doczj.com/doc/5a18998507.html,反馈信息。在进行统计分析时根据所需数据量的不同而从秒级到分钟级,原则是
保证操作人员不会因为速度问题而影响工作效率。 2可行性分析 2.1 开发新系统的必要性
使用计算机软件对图书进行管理是计算机应用的一部分。以实现图书检索
迅速、可靠性高、存储量大、寿命长、成本低等特点能极大程度地提高图书管
理的效率也是图书管理信息化、正规化管理的必然趋势。
同时还要注下列几点
1.由于各方面的限制如人员不够、技术缺乏等原因开发时应本着循序渐
进逐步完善的原则不能贪大求全盲目开发。
2.要注意信息的准确、及时、适用、经济只有及时、准确的信息才能保证
系统开发的质量和效率。
3.从全局出发注意系统开发的整体优化还要注意系统的可扩展性和可延伸
性。
2.2 建立信息管理系统的可行性
可行性分析是在进行初步调查后所进行的对系统开发必要性和可能性的研
究所以也称为可行性研究。信息系统也应从技术可行性经济可行性和社会可
行性三方面来论证。通过长时间的观察与实践我认为图书馆管理系统的可行性
分析如下
1.经济可行性分析
作为图书馆这样的商业性质较小的场所其经济成分比重相对较少主要是
支出的费用其中包括设备购置费、软件开发费用、管理和维护费、人员工资和
培训费等。由于各个图书馆实行统一操作系统共享其设备购置人员工资
维护费用相对较少前期的资金投入主要集中于购置图书上。建立信息中心可
将来自各方面的信息集中管理提高图书管理的计划性和预见性快速地反馈市
场信息。
2.技术可行性分析
技术上的可行性分析主要分析现有技术条件能否顺利完成开发工作硬件、
软件配置能否满足开发者的需要各类技术人员的数量水平来源等。图书馆https://www.doczj.com/doc/5a18998507.html,管理系统的工作主要是在读者和图书馆之间架起一座桥梁能相互沟通信息和处
理信息。这一特点非常适合计算机特点通过网络internet技术发挥计算机的
信息传输速度快、准确度高的优势。计算机硬件和软件技术的飞速发展为系统
的建设提供了技术条件。
3.社会可行性分
析
社会可行性有时也称为操作可行性主要论证新系统在企业或机构开发和运
行的可能性以及运行后可能一起的对企业或机构的影响即组织内外是否具备接
受和使用新系统的条件。在当前信息技术飞速发展的大环境下计算机技术和软
件技术的更新是图书馆完全有可能也有能力采用这样先进的管理技术。它对图书
馆带来的影响可以看到
1.对传统管理理念的冲击可能引起管理层的变动和人员的调整。
2.对图书馆工作人员的要求提高使图书馆在一定的可能下进行机构精简
迫使工作人员继续学习新知识拓宽图书馆在市场环境下的生存空间。
3.对图书馆与读者之间业务方式的转变和扩充。
4.从各种社会因素可行性分析
从各种社会因素上分析可降低工作人员工作强度提高效率会得到学校工
作人员的一致同意的。
综上所述通过可行性分析认为新系统的开发方案切实可行可进行开发。
最后针对用户对图书资源进行有效利用和管理的功能需求用建模技术对图书
管理资源采用面向对象的描述方式在具体系统功能实现之前建立起系统模型
是很必要的这里采用具有可视化、能够柔性实现分析、设计和开发系统的统一
建模语言实现系统模型构建。同时结合最流行的基于浏览器的数据管理模式
建议采用基于组件技术的B/S(brower/server)系统结构。
3功能模块输入/输出设计
系统功能分析
密码设置每个操作员均有自己的密码可以防止非本系统人员进入本系统
又因每个人的权限不一致故可以防止越权操作。
资料维护为了存放图书、读者档案的全部数据本系统将每一本图书和每
位读者的信息进行管理。系统维护包括对各种表记录的修改、删除、添加等操作。
系统查询可以按图书编号、借阅证编号等相关信息进行查询 https://www.doczj.com/doc/5a18998507.html,系统管理进行员工管理、数据备份和数据恢复。
报表统计包括统计图书信息、读者信息、借阅信息和罚款信息等。
其它操作包括修改密码、添加用户、页面设置等 3.1 输入设计
输入界面是管理信息系统与用户之间交互的纽带设计的任务是根据具体业
务要求确定适当的输入形式使管理信息系统获取管理工作中产生的正确的信
息。输入设计的目的是提高输入效率减少输入错误。
输入设计的设计原则
1控制输入量
2减少输入延迟
3减少输入错误
4避免额外步骤
5简化输入过程
输入设计的要求
1输入界面要明晰、美观、大方
2便于填写符合工
作习惯
3便于操作
4有保证输入数据正确性的校验措施
3.2 输出设计
内容主要有
1读者留言汇总表
2库存图书统计
3借阅图书情况统计
4读者个人信息
5读者所需的图书信息
6读者所需电子图书信息
7读者所需期刊信息
8库存期刊统计 https://www.doczj.com/doc/5a18998507.html,9借阅期刊情况统计
3.4 图书管理系统安全
图书馆管理系统的安全措施主要包括规章保护技术措施行政管理以及人
员教育四个方面内容主要有
1规章保护
2技术措施
3行政管理
4人员教育
在此需要提醒的是不同部门的权限是不同的以下就是不同部门所具有的
权限
图书馆可以对图书馆管理系统的任何一个子系统进行管理。
图书室只允许对图书管理系统进行管理。
4 系统实施
4.1 选择的开发平台
硬件平台是开发与运行系统所需要的硬件环境由于本系统是一个小型的MIS
管理系统因此对计算机硬件的要求不高。我们选择的是1G内存、300G硬盘内存
的普通微机。
软件平台是指系统开发与运行的软件环境。我们在开发时选用了稳定性较强
的Windows XP中文专业版和Microsoft Office Access 2003作为开发语言用于
数据库设计。 由于这些软件产品都是Microsoft公司的产品因此彼此之间的兼
容性较好开发出的应用系统稳定性较高。Microsoft Office Access 2003具有
可视化的开发环境可以快速完成系统的开发内部集成的数据库访问通道使
得可以轻松方便的对数据库管理。
4.2 系统测试
实际开发过程中不可避免地会产生差错系统中通常可能隐藏着错误和缺陷
不经周密测试的系统投入运行将会造成难以想象的后果因此系统测试是MIS
开发过程中为保证软件质量必须进行的工作。大量统计资料表明系统测试的工
作量往往占MIS开发总工作量的40%以上。因此我们必须重视测试工作。 https://www.doczj.com/doc/5a18998507.html,我们在开发本系统时为了使系统能够稳定运行对本系统进行了有针对性的
全面测试采取的方式是
1分调在“登陆界面”文本框中输入“用户名”例002然后输入密码
该界面从其他相应的文本框中能够显示出相应的信息系统是可以正常运行的。
为了保证每一项菜单能够正确实现系统设计的功能我们把相关的基础数据基
本上全部输入到本系统中并对每一个菜单项进行了增加、删除、修改等操作
从而保证了菜单级功能的正确实现。
2数据跟踪我们完成菜单项测试后又对系统内的每一个数据进行了跟
踪。
3
总调在以上测试的基础上我们对系统功能进行了整体的测试依次
来检验系统功能是否符合系统设计的要求。 在具体的测试中我认为应当遵循以下原则由程序设计者之外的人进行测试测试用
例应由两部分组成输入数据和预期输出结果应选用不合理的输入数据与非法输入测试
不仅要检验程序是否实现预期功能还应检查程序是否做了不应该做的工作集中测试容易
出错的程序模块对程序修改以后必须重新进行测试。 4.3 系统切换方式
我们设计的图书管理系统准备采用并行切换方式以保证平衡可靠的过度。
即一方面使用本系统来进行工作另一方面又继续沿用老的手工方式在一定时
期内如果程序存在一些漏洞和错误用户也提出了修改意见那么系统还要经
过进一步完善才能正式投入使用终止以前的操作方式。
5 软件设计
5.1 数据库设计 这里的数据库采用Access用ADO作为连接数据对象。
1、建立Access 数据库
启动Access建立一个空的数据库book.mdb如图5.1.1所示。使用程序设计器建立系统
需要的表格如下。
图书登记表如图5.1.2所示。 https://www.doczj.com/doc/5a18998507.html,
5.1.1 建立数据库book.mdb 图 5.1.2 图书登记表
图书借阅表如图5.1.3所示。
5.1.3 图书借阅表
图书资料表如图5.1.4所示。系统管理表如图5.1.5所示。
5.1.4图书资料表 5.1.5 系统管理表
2、连接数据
在Visual Basic环境下选择“工程”→“引用”命令在随后出现的对话框中选择“Microsoft
ActiveX Data Objects 2.0 Library”然后单击“确定”按钮如图5.1.6所示。
https://www.doczj.com/doc/5a18998507.html,
5.1.6 引用ADO连接数据库
在程序设计的公共模块中先定义ADO连接对象。语句如下:
Public conn As New ADODB.Connection ' 标记连接对象
然后在子程序中用如下的语句即可打开数据库:
Dim connectionstring As String
connectionstring = "provider=Microsoft.Jet.oledb.4.0;" &_
"data source=book.mdb"
conn.Open connectionstring
3、设置ODBC
VB的ADO对象是通过ODBC来访问数据库所以还要建立ODBC数据引擎接口。
打开控制面板中的“管理工具”→“数据源”(ODBC)出现如图5.1.7所示的对话框。
5.1.7 ODBC对话框
单击“添加”按钮出现“创建新数据源”对话框如图5.1.8所示。 https://www.doczj.com/doc/5a18998507.html,
5.1.8 “创建新数据源”对话框
选择Microsoft Access Driver(*.mdb)单击“完成”按钮出现如图5.1.9所示对话框。
5.1.9 设置连接数据源
在“数据源名”文本框中添加一个名字单击“确定”按钮完成系统默
认连接设置。然后在
ODBC对话框中单击“确定”按钮完成ODBC设置。
5.2 界面设计 1、添加记录中的书籍记录和学生记录如图5.2.1所示。
https://www.doczj.com/doc/5a18998507.html,
5.2.
1 添加记录 2、删除记录中的书籍记录和学生记录如图5.2.2所示。
5.2.2 删除记录
3、登录界面及相关信息界面如图5.2.3和图5.2.4所示。 https://www.doczj.com/doc/5a18998507.html,
5.2.3 登录密码 5.2.4相关信息界面
4、借还操作中的借书、还书和续借如图5.2.5所示。
https://www.doczj.com/doc/5a18998507.html,
5.2.5借还书操作界面
5、系统菜单界面如图5.2.6所示。
5.2.6系统菜单界面
6、系统设置中的管理选项、系统选项和数据备份如图5.2.7所示。 https://www.doczj.com/doc/5a18998507.html,
5.2.7系统设置界面
5.3 窗体代码 1、主窗体代码
'**************************************************************
'所调用的API函数,自定义过程,类型,常数请参阅相应模块 https://www.doczj.com/doc/5a18998507.html,Option Explicit
' *****************窗体事件********************
'窗体加载
Private Sub Form_Load()
loadmdb Adodc1 '连接数据库
'初始化窗体下方状态栏
StatusBar1.Panels(1).Text = "无记录源"
StatusBar1.Panels(2).Text = "共有记录 0 条"
'从config.ini文件读取窗体及控件的属性
'Formmain.Caption = getinistr("system", "formcaption")
Formmain.Caption = Formmain.Caption & "图书管理系统"
'Formmain.WindowState = GetIniNum("system", "winstate")
Formmain.WindowState = 2
'DataGrid1.BackColor = GetIniNum("system", "dgridcolor")
DataGrid1.BackColor = 16777215
ListView1.BackColor = DataGrid1.BackColor
End Sub
'窗体大小调整
Private Sub Form_Resize()
If WindowState = 1 Then
'最小化时添加到系统栏
addicon Formmain, traymenu
iconshow "MINI图书管理系统"
Else
'正常显示时控件调整
Picture1.Move 0, Picture1.Top, ScaleWidth, Picture1.Height
If ScaleHeight - Toolbar1.Height - Picture1.Height - 20 > 0 Then
DataGrid1.Move 0, Toolbar1.Height + Picture1.Height, ScaleWidth, ScaleHeight -
Toolbar1.Height - Picture1.Height - StatusBar1.Height - 20
Else
Exit Sub
End If
If ListView1.Visible = True Then
If ScaleHeight - Toolbar1.Height - Picture1.Height - 20 > 0 Then
ListView1.Move 0, Toolbar1.Height + Picture1.Height, ScaleWidth, ScaleHeight -
Toolbar1.Height - Picture1.Height - StatusBar1.Height - 20
Else
Exit Sub
End If
End If
End If
End Sub https://www.doczj.com/doc/5a18998507.html,************************************************************
'窗体卸载
Private Sub Form_Unload(Cancel As Integer)
'卸载所有可见窗体,加载关闭窗体,
Unload formadd
Unload Formabout
Unload Formdel
Unload Formoption
Unload Formsys
Unload
Formupdate
Unload Formsys
Formend.Show
End Sub
'*********************菜单事件***********************
'关于
Private Sub about_Click()
Formabout.Show
End Sub
'添加书籍记录
Private Sub addbook_Click()
formadd.Show
formadd.SSTab1.Tab = 0
End Sub
'添加学生记录
Private Sub addstudent_Click()
formadd.Show
formadd.SSTab1.Tab = 1
End Sub
'管理选项
Private Sub admin_Click()
Formsys.Show
Formsys.SSTab1.Tab = 0
End Sub
'备份和恢复
Private Sub backup_Click()
Formsys.Show
Formsys.SSTab1.Tab = 2
End Sub
'借出书籍
Private Sub bookin_Click()
Formoption.Show
Formoption.SSTab1.Tab = 1
End Sub https://www.doczj.com/doc/5a18998507.html,'归还书籍
Private Sub bookout_Click()
Formoption.Show
Formoption.SSTab1.Tab = 0
End Sub
'删除书籍记录
Private Sub delbook_Click()
Formdel.Show
Formdel.SSTab1.Tab = 0
End Sub
'删除学生记录
Private Sub delstudent_Click()
Formdel.Show
Formdel.SSTab1.Tab = 1
End Sub
'最小化时还原窗体
Private Sub display_Click()
Formmain.WindowState = 0
Formmain.Show
delicon
End Sub
'最小化时退出
Private Sub exit_Click()
Formend.Show
delicon
Unload Formmain
End Sub
'书籍浏览
Private Sub explorbook_Click()
If ListView1.Visible = True Then ListView1.Visible = False
explorrecord Adodc1, DataGrid1, "书籍总表"
StatusBar1.Panels(1).Text = "书籍总表"
StatusBar1.Panels(2).Text = "共有记录 " & Str(Adodc1.Recordset.RecordCount) & "条
"
End Sub
'借阅记录浏览
Private Sub explorerout_Click()
If ListView1.Visible = True Then ListView1.Visible = False
explorrecord Adodc1, DataGrid1, "借阅总表"
StatusBar1.Panels(1).Text = "借阅总表"
StatusBar1.Panels(2).Text = "共有记录 " & Str(Adodc1.Recordset.RecordCount) & "条"
End Sub
'学生记录浏览
Private Sub explorstudent_Click() https://www.doczj.com/doc/5a18998507.html,If ListView1.Visible = True Then ListView1.Visible = False
explorrecord Adodc1, DataGrid1, "学生总表"
StatusBar1.Panels(1).Text = "学生总表"
StatusBar1.Panels(2).Text = "共有记录 " & Str(Adodc1.Recordset.RecordCount) & "条"
End Sub
'帮助主题
Private Sub helpfile_Click()
Shell "hh.exe " & App.Path & "\readme.txt", vbNormalFocus
End Sub
Private Sub StatusBar2_PanelClick(ByVal Panel As MSComctlLib.Panel)
End Sub
'最小化时归还书籍
Private Sub traybookin_Click()
bookin_Click
End Sub
'最小化时借阅书籍
Private Sub traybookout_Click()
bookout_Click
End Sub
'最小化时续借书籍
Private Sub trayrebookout_Click()
rebookout_Click
End Sub
'更新书籍记录
Private Sub updatebook_Click()
Formupdate.Show
Formupdate.SSTab1.Tab = 0
End Sub
'更新学生记录
Private Sub updatestudent_Click()
Formupdate.Show
Formupdate.SSTab1.Tab = 1
End Sub
'电子邮件
*************
***********************************************
'续借操作
Private Sub rebookout_Click()
Formoption.Show
Formoption.SSTab1.Tab = 2
End Sub
'系统设置 https://www.doczj.com/doc/5a18998507.html,Private Sub system_Click()
Formsys.Show
Formsys.SSTab1.Tab = 1
End Sub
'****************其他控件事件过程************************
'*********搜索********
'根据内容下拉列表设置条件下拉列表的选项
Private Sub Combo1_Click()
Select Case Combo1.Text
Case "学生信息"
With Combo2
.Clear
.AddItem "学号"
.AddItem "姓名"
.AddItem "单位"
.Text = "学号"
.Enabled = True
End With
Case "书籍信息"
With Combo2
.Clear
.AddItem "书号"
.AddItem "书名"
.AddItem "作者"
.AddItem "类别"
.AddItem "简介"
.AddItem "出版社"
.AddItem "是否借出"
.Text = "书号"
.Enabled = True
End With
Case "借阅信息"
With Combo2
.Clear
.AddItem "学号"
.AddItem "书号"
.Text = "学号"
.Enabled = True
End With
End Select
End Sub https://www.doczj.com/doc/5a18998507.html,
'执行搜索
Private Sub Image1_Click()
On Error GoTo wrong
If Text1.Text = "" Or Text1.Text = "输入关键字" Then '判断关键字是否为空
MsgBox "请输入关键字"
Else '判断列表文本是否合法
If Combo1.Text = "" Then
MsgBox "请选择内容和条件!"
Else
'查询
selectrecord Adodc1, DataGrid1, Left(Combo1.Text, 2) & "总表
", Combo2.Text, Text1.Text
If ListView1.Visible = True Then ListView1.Visible = False
'窗体状态栏
StatusBar1.Panels(1).Text = "搜索" & Combo2.Text & "与“" & Text1.Text & "”接近的" &
Combo1.Text
StatusBar1.Panels(2).Text = "共有记录 " & Str(Adodc1.Recordset.RecordCount) & "条"
End If
End If
Exit Sub
wrong: '错误处理
MsgBox "搜索失败请选择列表框中所列选项!"
End Sub
'按钮显示状态
Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image1.BorderStyle = 1
End Sub
Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image1.BorderStyle = 0
End Sub
'关键字文本框
Private Sub Text1_Click()
If Text1.Text = "输入关键字" Then
Text1.Text = ""
End If
End Sub
'工具条事件
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Index
Case 1 https://www.doczj.com/doc/5a18998507.html,bookout_Click
Case 2
bookin_Click
Case 3
rebookout_Click
Case 4
formadd.Show
Case 5
Formupdate.Show
Case 6
Formdel.Show
Case 7
Formsys.Show
End Select
End Sub
'弹出菜单
Private Sub ListView1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbRightButton Then
nore
cord.Visible = False
linex.Visible = False
Formmain.PopupMenu rightmenu
End If
End Sub
Private Sub datagrid1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbRightButton Then
norecord.Visible = True
linex.Visible = True
Formmain.PopupMenu rightmenu
Else
Text1.SetFocus
End If
End Sub
Private Sub mbookin_Click()
bookin_Click
End Sub
Private Sub mbookout_Click()
bookout_Click
End Sub
Private Sub mrbookout_Click()
rebookout_Click
End Sub
Private Sub ebook_Click() https://www.doczj.com/doc/5a18998507.html,explorbook_Click
End Sub
Private Sub ebookout_Click()
explorerout_Click
End Sub
Private Sub estudeny_Click()
explorstudent_Click
End Sub
Private Sub norecord_click()
ListView1.Visible = True
StatusBar1.Panels(1).Text = "无记录源"
StatusBar1.Panels(2).Text = "共有记录 0 条
"
End Sub
2、添加/删除记录代码
'添加记录窗体
'************************************
'所调用的API函数,自定义过程,类型,常数请参阅相应模块
Option Explicit
'Dim rcdset As Recordset '窗体级变量,
存放ADO控件的当前记录
'**************窗体事件*********
'窗体加载
Private Sub Form_Load()
loadmdb Adodc1 '连接数据库
Text1.Text = autobooknum(Adodc1, "书籍总表") '获得书籍自动编号
Text6.Text = autostudentnum(Adodc1, "学生总表") '获得学生自动编号
End Sub
'*************添加数据******************
'书籍记录
Private Sub Command1_Click()
'判断各个字段值是否合法,符合条件添加记录
If Text2.Text = "" Or Text3.Text = "" Or Text4.Text = "" Or Combo1.Text = "" Then
MsgBox "请完整输入必要字段简介可以不填。"
Exit Sub
Else
https://www.doczj.com/doc/5a18998507.html,mandType = adCmdTable
Adodc1.RecordSource = "书籍总表"
Adodc1.Refresh
Dim rcdset As ADODB.Recordset
Set rcdset = Adodc1.Recordset
rcdset.AddNew https://www.doczj.com/doc/5a18998507.html,rcdset!书号 = Text1.Text
rcdset!书名 = Text2.Text
rcdset!作者
= Text3.Text
rcdset!类别 = Combo1.Text
rcdset!出版社 = Text4.Text
rcdset!简介 = Text5.Text
rcdset.update
Adodc1.Refresh
Formmain.DataGrid1.Refresh
MsgBox "记录已添加。"
Text1.Text = Right(Str(Val(Text1.Text) + 1), Len(Str(Val(Text1.Text) + 1)) - 1) '获得新的编号,去掉
了字符前的一个空格
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Combo1.Text = ""
End If
End Sub
*************************************************
'学生记录
Private Sub Command4_Click()
'判断各个字段值是否合法,符合条件添加记录
If Text7.Text = "" Or Combo2.Text = "" Then
MsgBox "请完整输入必要字段备注可以不填。"
Exit Sub
Else
https://www.doczj.com/doc/5a18998507.html,mandType = adCmdTable
Adodc1.RecordSource = "学生总表"
Adodc1.Refresh
Dim rcdset As ADODB.Recordset
Set r
cdset = Adodc1.Recordset
rcdset.AddNew
rcdset!学号 = Text6.Text
rcdset!姓名 = Text7.Text
rcdset!单位 = Combo2.Text
rcdset!备注 = Text8.Text
rcdset.update
Adodc1.Refresh
Formmain.DataGrid1.Refresh
MsgBox "记录已添加。"
Text6.Text = Right(Str(Val(Text6.Text) + 1), Len(Str(Val(Text6.Text) + 1)) - 1) '获得新的编号,去掉
了字符前的一个空格 https://www.doczj.com/doc/5a18998507.html,Text7.Text = ""
Text8.Text = ""
Combo2.Text = ""
End If
End Sub
'*************其他******************
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Command3_Click()
Unload Me
End Sub
*******************************************
'删除记录窗体
'*******************************************
'所调用的API函数,自定义过程,类型,常数请参阅相应模块
Option Explicit
'Dim rcdset As Recordset '窗体级变量,存放ADO控件的当前记录
'通用过程,确认是否删除和执行删除操作
Private Sub suredel()
Dim sure As Long
Dim rcdset As ADODB.Recordset
sure = MsgBox("删除记录将无法恢复确认该操作吗", vbOKCancel)
Select Case sure
Case vbOK
rcdset.Delete
Adodc1.Refresh
Formmain.DataGrid1.Refresh
MsgBox "记录已删除。"
Case vbCancel
Exit Sub
End Select
End Sub
'**************窗体事件*********
'窗体加载
Private Sub Form_Load()
loadmdb Adodc1 '连接数据库
End Sub
'***************删除记录*****************
'删除书籍记录
Private Sub Image1_Click() '确定要删除的记录 https://www.doczj.com/doc/5a18998507.html,If Text1.Enabled = False Then
Text1.Enabled = True
Command1.Enabled = False
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Combo1.Text = ""
Exit Sub
Else
lockrecord Adodc1, "书籍总表", "书号", Text1.Text
Dim rcdset As ADODB.Recordset
Set rcdset = Adodc1.Recordset
If rcdset.RecordCount = 0 Then
MsgBox "无该记录或输入数据有误。请查正。"
Exit Sub
Else
Text2.Text = rcdset!书名
Text3.Text = rcdset!作者
Combo1.Text = rcdset!类别
Text4.Text = rcdset!出版社
Text5.Text = "" & rcdset!简介
Text1.Enabled = False
Command1.Enabled = True
End If
End If
End Sub
3、借还操作代码
'书籍借还操作窗体
'*********************************************
'所调用的API函数,自定义过程,类型,常数请参阅相应模块
Option Explicit
'Dim rcdset As Recordset '窗体级变量,存放ADO控件的当前记录
Dim i As Integer
'***********窗体事件*******************
Private Sub Form_Load()
loadmdb Adodc1 '连接数据库
End Sub
'***************操作********************
'确定借书人借阅状况,已经设定为每人最多可借阅3本书
籍
'借阅书籍时确定借书人情况并设置相应控件
Private Sub Image1_Click()
For i = 0 To 2 https://www.doczj.com/doc/5a18998507.html,Text2(i).Enabled = False
Text2(i).Text = ""
Label8(i).Visible = False
Next i
Command1(0).Enabled = False
If Text1.Enabled = False Then
Text1.Enabled = True
Else
lockrecord Adodc1, "学生总表", "学号", Text1.Text
Dim rcdset As ADODB.Recordset
Set rcdset = Adodc1.Recordset
If rcdset.RecordCount = 0 Then
MsgBox "学号输入有误。"
Exit Sub
Else
lockrecord Adodc1, "借阅总表", "学号", Text1.Text '从借阅表中读取学生借阅信息
Set rcdset = Adodc1.Recordset
If rcdset.RecordCount = 0 Then
Text1.Enabled = False
For i = 0 To 2
Text2(i).Enabled = True
Next i
Command1(0).Enabled = True
Else
If rcdset.RecordCount > 3 Then
MsgBox "数据记录出现错误请查正。"
Exit Sub
End If
'确定可借阅书籍数目并设置窗体中可用控件
rcdset.MoveFirst
i = 0
Do While Not rcdset.EOF
Text2(i).Text = rcdset!书号
Text2(i).Enabled = False
Label8(i).Visible = True
rcdset.MoveNext
i = i + 1
Loop
For i = 0 To 2
If Text2(i).Text = "" Then
Text2(i).Enabled = True
Label8(i).Visible = False
End If https://www.doczj.com/doc/5a18998507.html, Next i
Command1(0).Enabled = True
Text1.Enabled = False
End If
End If
End If
End Sub
**************************************************
'归还书籍时确定借书人情况并设置相应控件
Private Sub Image2_Click()
For i = 0 To 2
Text4(i).Enabled = False
Text4(i).Text = ""
Check1(i).Enabled = False
Check1(i).Value = False
Next i
Command1(2).Enabled = False
If Text3.Enabled = False Then
Text3.Enabled = True
Else
lockrecord Adodc1, "学生总表", "学号
", Text3.Text
Dim rcdset As ADODB.Recordset
Set rcdset = Adodc1.Recordset
If rcdset.RecordCount = 0 Then
MsgBox "学号输入有误。"
Exit Sub
Else
lockrecord Adodc1, "借阅总表", "学号", Text3.Text
Set rcdset = Adodc1.Recordset
If rcdset.RecordCount = 0 Then
Text3.Enabled = False
Exit Sub
Else
rcdset.MoveFirst
i = 0
Do While Not rcdset.EOF
Text4(i).Text = rcdset!书号
Check1(i).Enabled = True
rcdset.MoveNext
i = i + 1
Loop
Text3.Enabled = False https://www.doczj.com/doc/5a18998507.html, Command1(1).Enabled = True
End If
End If
End If
End Sub
********************************************
'续借书籍时确定借书人情况并设置相应控件
Private Sub Image3_Click()
For i = 0 To 2
Text6(i).Enabled = False
Text6(i).
Text = ""
Check2(i).Enabled = False
Check2(i).Value = False
Next i
Command1(2).Enabled = False
If Text5.Enabled = False Then
Text5.Enabled = True
Else
lockrecord Adodc1, "学生总表", "学号", Text5.Text
Dim rcdset As ADODB.Recordset
Set rcdset = Adodc1.Recordset
If rcdset.RecordCount = 0 Then
MsgBox "学号输入有误。"
Exit Sub
Else
lockrecord Adodc1, "借阅总表", "学号", Text5.Text
Set rcdset = Adodc1.Recordset
If rcdset.RecordCount = 0 Then
Text5.Enabled = False
Exit Sub
Else
rcdset.MoveFirst
i = 0
Do While Not rcdset.EOF
Text6(i).Text = rcdset!书号
Check2(i).Enabled = True
rcdset.MoveNext
i = i + 1
Loop
Text5.Enabled = False
Command1(2).Enabled = True
End If https://www.doczj.com/doc/5a18998507.html,End If
End If
End Sub
******************************************************
'执行操作
Private Sub Command1_Click(Index As Integer)
Dim j As Integer
j = 0
Select Case Index
Case 0 '借阅书籍确定按钮
'判断要借书籍是否借出,
书号是否正确,符合条件后执行操作
For i = 0 To 2
If Text2(i).Enabled = True And Text2(i).Text <> "" Then
lockrecord Adodc1, "书籍总表", "书号", Text2(i).Text '读取要借书籍的信息
Dim rcdset As ADODB.Recordset
Set rcdset = Adodc1.Recordset
If rcdset.RecordCount = 0 Then
MsgBox "书号" & Text2(i).Text & "输入有误请查正。操作中断,借阅书籍" & Str(j)
Exit Sub
Else
If rcdset!是否借出 = "是" Then
MsgBox "书籍" & Text2(i).Text & "已经借出。操作中断,借阅书籍" & Str(j)
Exit Sub
Else
'符合后更新书籍记录并添加借阅记录
rcdset!是否借出 = "是" '更新书籍记录
rcdset.update
Adodc1.Refresh
https://www.doczj.com/doc/5a18998507.html,mandType = adCmdTable
Adodc1.RecordSource = "借阅总表"
Adodc1.Refresh
Set rcdset = Adodc1.Recordset
rcdset.AddNew '添加新的借阅记录
rcdset!学号 = Text1.Text
rcdset!书号 = Text2(i).Text
rcdset.update
Adodc1.Refresh
j = j + 1
End If
End If
End If
Next i
MsgBox "所有操作完成,借阅书籍" & Str(j) https://www.doczj.com/doc/5a18998507.html,Command1(0).Enabled = False
Text1.Enabled = True
'窗体数据显示同步更新
Image1_Click
If Text3.Text = Text1.Text Then
Text3.Enabled = True
Image2_Click
End If
If Text5.Text = Text1.Text Then
Text5.Enabled = True
Image3_Click
End If
******************************************
Case 1 '归还书籍确定按钮
For i = 0 To 2
If Check1(i).Value = 1 Then
lockrecord Adodc1, "书籍总表", "书号", Text4(i).Text
Set rcdset = Adodc1.
Recordset
rcdset!是否借出 = "否" '更新书籍记录
rcdset.update
Adodc1.Refresh
lockrecord Adodc1, "借阅总表", "书号
", Text4(i).Text
Adodc1.Recordset.Delete '删除相应的借阅记录
Adodc1.Refresh
j = j + 1
End If
Next i
MsgBox "操作完成归还书籍" & Str(j)
Command1(1).Enabled = False
Text3.Enabled = True
'窗体数据显示同步更新
Image2_Click
If Text1.Text = Text3.Text Then
Text1.Enabled = True
Image1_Click
End If
If Text5.Text = Text3.Text Then
Text5.Enabled = True
Image3_Click
End If
Case 2
For i = 0 To 2
If Check2(i).Value = 1 Then https://www.doczj.com/doc/5a18998507.html,lockrecord Adodc1, "借阅总表", "书号", Text4(i).Text
Set rcdset = Adodc1.Recordset
rcdset!截止日期 = rcdset!截止日期 + 30 '更新借阅记录中截止日期字段
rcdset.update
Adodc1.Refresh
j = j + 1
End If
Next i
MsgBox "操作完成续借书籍" & Str(j)
Command1(2).Enabled = False
Text5.Enabled = True
'窗体数据显示同步更新
Image3_Click
If Text1.Text = Text5.Text Then
Text1.Enabled = True
Image1_Click
End If
If Text3.Text = Text5.Text Then
Text3.Enabled = True
Image2_Click
End If
End Select
End Sub
'******************其他****************************
Private Sub Command2_Click(Index As Integer)
Unload Me
End Sub
Private Sub Image2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image2.BorderStyle = 1
End Sub
Private Sub Image2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image2.BorderStyle = 0
End Sub
Private Sub Image3_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image3.BorderStyle = 1
End Sub
Private Sub Image3_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image3.BorderStyle = 0
End Sub
Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) https://www.doczj.com/doc/5a18998507.html,Image1.BorderStyle = 1
End Sub
Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image1.BorderStyle = 0
End Sub
4、记录更新代码
'记录更新窗体
'****************************************
'所调用的API函数,自定义过程,类型,常数请参阅相应模块
Option Explicit
'Dim rcdset As Recordset '窗体级变量,ADO控件的当前记录
Private Sub Form_Load()
loadmdb Adodc1 '连接 数据库
End Sub
'更新书籍记录
'确定要更新的记录
Private Sub Image1_Click()
If Text1.Enabled = False Then
Text1.Enabled = True
Text2.Enabled = False
Text3.Enabled = False
Text4.Enabled = False
Text5.Enabled = False
Combo1.Enabled = False
Command1.Enabled = False
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Combo1.Text = ""
Exit Sub
Else
lockrecord Adodc1, "书籍总表", "书号", Text1.Text
Dim rcdset As ADODB.Recordset
Set rcdset = Adodc1.Recordset
If rcdset.RecordCount = 0 Then
MsgBox "无该记录或输入数据有误。请查正。"
Exit Sub
Else
Text2.Text = rcdset!书名 https://www.doczj.com/doc/5a18998507.html, Text3.Text = rcdset!作者
Combo1.Text = rcdset!类别
Combo1.Enabled = True
Text4.Text = rcdset!出版社
Text5.Text = "" & rcdset!简介
Text1.Enabled = False
Text2.Enabled = True
Text3.Enabled = True
Text4.Enabled = True
Text5.Enabled = True
Command1.Enabled = True
End If
End If
End Sub
'执行更新书籍记录操作
Private Sub Command1_Click()
If Text2.Text = "" Or Text3.Text = "" Or Text4.Text = "" Or Combo1.Text = "" Then
MsgBox "请完整填写必要字段简介可不填。"
Exit Sub
Else
Dim rcdset As ADODB.Recordset
rcdset!书名 = Text2.Text
rcdset!作者
= Text3.Text
rcdset!类别 = Combo1.Text
rcdset!出版社 = Text4.Text
rcdset!简介 = Text5.Text
rcdset.update
Adodc1.Refresh
MsgBox "更新记录成功。"
Command1.Enabled = False
Text1.Enabled = True
Text2.Enabled = False
Text3.Enabled = False
Text4.Enabled = False
Text5.Enabled = False
Combo1.Enabled = False
End If
End Sub
************************************************
'更新学生记录
'确定要更新的记录
Private Sub Image2_Click()
If Text6.Enabled = False Then https://www.doczj.com/doc/5a18998507.html, Text6.Enabled = True
Text7.Enabled = False
Text8.Enabled = False
Combo2.Enabled = False
Command4.Enabled = False
Text7.Text = ""
Text8.Text = ""
Combo2.Text = ""
Exit Sub
Else
lockrecord Adodc1, "学生总表", "学号", Text6.Text
Dim rcdset As ADODB.Recordset
Set rcdset = Adodc1.Recordset
If rcdset.RecordCount = 0 Then
MsgBox "无该记录或输入数据有误。请查正。"
Exit Sub
Else
Text7.Text = rcdset!姓名
Combo2.Text = rcdset!单位
Text8.Text = "" & rcdset!备注
Combo2.Enabled = True
Text6.Enabled = False
Text7.Enabled = True
Text8.Enabled = True
Command4.Enabled = True
End If
End If
End Sub
***********************************************
'执行更新学生记录操作
Private Sub Command4_Click()
If Text7.Text = "" Or Combo2.Text = "" Then
MsgBox "请完整填写必要字段简介可不填。"
Exit Sub
Else
Dim rcdset As ADODB.Recordset
rcdset!姓名 = Text7.Text
rcdset!备注 = Text8.Text
rcdset!单位 = Combo2.Text
rcdset.update
Adodc1.Refresh
MsgBox "更新记录成功。"
Command4.Enabled = False https://www.doczj.com/doc/5a18998507.html, Text6.Enabled = True
Text7.Enabled = False
Text8.Enabled = False
Combo2.Enabled = False
End If
End Sub
************************************************
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Command3_Click()
Unload Me
End Sub
Private Sub Image2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image2.BorderStyle = 1
End Sub
Private Sub Image2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image2.BorderStyle = 0
End Sub
Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image1.BorderStyle = 1
End Sub
Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image1.BorderStyle = 0
End Sub
5、系统设置代码
'系统设置窗体
'*********************************
'所调用的API函数,自定义过程,类型,常数请参阅相应模块
Option Explicit
'通用过程,设置一个文件对象
Private Sub fileobj(filepath As String, newpath As String)
Dim fs, f
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile(filepath)
f.Copy newpath
End Sub https://www.doczj.com/doc/5a18998507.html,**********************************
'备份文件
Private Sub Cmdback_Click()
On Error GoTo wrong
If Textpath.Text = "" Then
MsgBox "请选择备份文件存放路径"
Exit Sub
Else
Dim ifchange As Boolean
ifchange = False
If Check1(0).Value = 1 Then '备份数据库文件
fileobj App.Path & "\library.mdb", Textpath.Text & "\mdbbak"
ifchange = True
End If
If Check1(1).Value = 1 Then '备份系统配置文件
fileobj App.Path & "\config.ini", Textpath.Text & "\cfgbak"
ifchange = True
End If
If ifchange Then
MsgBox "文件备份成功。"
Else
MsgBox "请选择文件"
End If
Exit Sub
End If
wrong: '错误处理
MsgBox Err.Description & ",备份失败。"
Exit Sub
End Sub
'选择备份文件夹
Private Sub Command1_Click()
Dim oldpath As String
oldpath = Textpath.Text
Dim backpath As BrowseInfo
Textpath.Text = BrowseForFolder(backpath.hWndOwner, "选择备份文件夹")
If Textpath.Text = "" Then Textpath.Text = oldpath
End Sub
'文件恢复
Private Sub Command2_Click()
On Error GoTo wrong
If Textpath.Text = "" Then
MsgBox "请选择备份文件存放路径"
Exit Sub https://www.doczj.com/doc/5a18998507.html,Else
Dim ifchange As Boolean
ifchange = False
If Check1(0).Value = 1 Then
fileobj Textpath.Text & "\mdbbak", App.Path & "\library.mdb"
ifchange = True
End If
If Check1(1).Value = 1 Then
fileobj Textpath.Text & "\cfgbak", App.Path &
"\config.ini"
ifchange = True
End If
If ifchange Then
MsgBox "文件恢复成功。"
Else
MsgBox "请选择文件"
End If
End If
Exit Sub
wrong:
MsgBox Err.Description & ",恢复失败。"
Exit Sub
End Sub
Private Sub Command3_Click()
Unload Me
End Sub
*******************************************
'系统设置
'选择窗体表格背景颜色
Private Sub Command4_Click()
ComDialog.Color = Text1.BackColor
ComDialog.ShowColor
Text1.BackColor = ComDialog.Color
End Sub
Private Sub Command5_Click()
Formmain.DataGrid1.BackColor = Text1.BackColor '改变背景色
If Formmain.ListView1.Visible = True Then Formmain.ListView1.BackColor = Text1.BackColor
Formmain.Caption = Text2.Text & "图书管理系统" '窗体标题
WriteIni "system", "dgridcolor", CStr(Text1.BackColor) '写入配置文件
WriteIni "system", "formcaption", Text2.Text
Dim i As Integer
For i = 0 To 2 '窗体启动选项
If Option1(i) = True Then
WriteIni "system", "winstate", CStr(i) https://www.doczj.com/doc/5a18998507.html,Exit For
End If
Next i
End Sub
***********************************************
Private Sub Command6_Click()
Unload Me
End Sub
'管理选项,主要是密码设置,有效密码为3-10位字符
Private Sub Command7_Click()
If Option2(0).Value = True Then
WriteIni "option", "ifpassword", "0"
MsgBox "已经设置为无密码启动"
WriteIni "option", "password", ""
Else
If Text3.Text = "" Or Text4.Text = "" Then
MsgBox "请输入密码并确认"
ElseIf 10 < Len(Text3.Text) Or Len(Text3.Text) < 3 Or Left(Text3.Text, 1) = "" Or Right(Text3.Text,
1) = "" Then
MsgBox "密码无效"
Exit Sub
ElseIf Text3.Text <> Text4.Text Then
MsgBox "两次输入不一致请检查。"
Exit Sub
Else
WriteIni "option", "ifpassword", "1"
WriteIni "option", "password", Text3.Text
MsgBox "密码设置成功"
End If
End If
End Sub
************************************************
Private Sub Command8_Click()
Unload Me
End Sub
'窗体加载时读取各项设置并显示
Private Sub Form_Load()
Dim i As Long
Textpath.Text = App.Path & "\backup"
Text1.BackColor = Formmain.DataGrid1.BackColor
Text2.Text = getinistr("system", "formcaption")
i = getininum("system", "winstate")
Option1(i).Value = True https://www.doczj.com/doc/5a18998507.html,i = getininum("option", "ifpassword")
Option2(i).Value = True
If Option2(1).Value = True Then
Text3.Text = getinistr("option", "password")
Text4.Text = Text3.Text
Else
Text3.Text = ""
Text4.Text = ""
End If
End Sub
********************************************
'控件属性控制
Private Sub Option2_Click(Index As Integer)
Select Case Option2(1).Value
Case True
Frame3.Enabled = True
Text3.Enabled = Frame3.Enabled
Text4.Enabled = Frame3.Enabled
Label6.Enabled = Frame3.Ena
bled
Label7.Enabled = Frame3.Enabled
Label8.Enabled = Frame3.Enabled
If Option2(1).Value = True Then
Text3.Text = getinistr("option", "password")
Text4.Text = Text3.Text
End If
Case False
Frame3.Enabled = False
Text3.Enabled = Frame3.Enabled
Text4.Enabled = Frame3.Enabled
Label6.Enabled = Frame3.Enabled
Label7.Enabled = Frame3.Enabled
Label8.Enabled = Frame3.Enabled
Text3.Text = ""
Text4.Text = ""
End Select
End Sub
*************************************************************************
到这里各个窗体的界面和代码都介绍完了。发布后可以作为一个实际的项目应用。 https://www.doczj.com/doc/5a18998507.html,