资源描述:
《中图分类号查询系统设计报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、VisualBasic课程设计报告中图分类号查询系统姓名:XXXXXXXX班级:XXXXXXXXXXX学号:XXXXXXXXXX难度:☆☆☆☆©知识点:(1)树形视图控件的应用;(2)文本文件的读写;(3)拖放操作;(4)选项卡的应用;(5)字符串处理;(6)图像列表控件的应用。一.设计功能:《中国图书馆分类法》是我国建国后编制出版的一部具有代表性的大型综合性分类法,是当今国内图书馆使用最广泛的分类法体系,简称《中图法》。本课程要求编制一个"中图分类号查询系统"程序,供用户方便地浏览、查询、修改、添加和删除分
2、类号。具体需实现功能如下:(1)启动程序后自动将中图分类号添加到树形视图中,供用户实施浏览、查询、修改、添加和删除分类号的操作。(2)用户可以使用鼠标操作,展开、折叠各个条目,浏览各个层次的分类号。如果一个分□□类号是一个大类(包含子条目)f显示文件夹图标~,否则显示为気。展开的大类显示□文件夹图标开3。(3)窗口右侧提供三个选项卡,提供查询、添加和删除功能。在〃查询"选项卡的〃查询关键字〃文本框中输入要查询的学科名称(或名称的一部分),选择一种〃查找方式〃,然后点击〃放大镜"按钮放1。用户单击"放大镜"按钮
3、后,程序搜索用户要求的关键字所对应的分类号,并添加到列表框中。如在精确查找的模式下不能查找,则弹出消息框询问用户是否进行模糊查询。在模糊查询中,只要学科名中包含查找关键字即被搜索排列出来,前面有"+"号的表示的是大类,下辖子条目。另外,“查找结果"的列表框下面显示查到的条目数。在"查找结果"列表框中双击一个分类号,左侧的树型视图中自动展开显示相应条目。(4)中图分类号是在不断发展和更新的,通过"添加“选项卡可以添加新的分类号。首先在左侧树型视图中选择一个条目,在“添加〃选项卡的〃新条目编号"和〃新条目名称冲输
4、入最新内容,再单击〃添加到当前条目〃的按钮,新的条目会作为当前条目的子条目。如果选择的条目不是大类(无子条目),添加新条目之后,即升级为大类。如果添加的条目编号已经存在,程序会显示"条目编号已经存在。、(丿_、)/。在该系统中,一个条目的编号一定是以上一级的编号为开头,所以添加新条目时,程序会自动判断新输入的内容是否满足命名规则,如果不符合会弹岀对话框显示〃请输入新条目编号和新条目名称!、a编号应以上一级编号开头。、r等。(5)在"删除"选项卡,有两种方式可以删除已有的分类号,一种是从左边树型视图中选择一个条
5、目,然后单击"删除所选条目〃按钮;或者是在按住"Ctrl〃键的同时,从树型视图中选择将要删除的条目,确认删除后将其拖放至窗口右下方的"垃圾箱〃图标六上,回收站的图标也随之改变为~(6)修改分类号使用树型视图的〃在位编辑"功能,类似于Windows资源管理器中文件夹的重命名。先要选择修改条目(双击即可),确认后进入编辑状态,输入新内容后,回车或单击非编辑区即可修改分类号。中图分类号査询系统区
6、ij进入编辑迖态后,只龍修改条目名擁不能修改编号「厂)/。V(注:鎗卑与名称之向用一不空格芬隔。)[取消(7)程序在退
7、出时,弹出对话框,询问是否保存更改内容,单击〃是"按钮保存并退出程序,单击"否"则不保存内容。而取消则回到上一步。一.设计难点分析与心得:(1)文本文件“ZTFLH.txt"的数据读入和保存时写入,即字符串的批量处理:I.在数据读入的过程中,首先需要使用Dir函数确认文件是否存在。fn=App.Path&nZTFLH.txt,rIfDir(fn)=”"Then判断文件是否存在msgl=MsgBox(…ZTFLH.txt”文件遗失,请找回该文件!XX,vbOKOnlyf"中图分类号查询系Ifmsgl=1The
8、n'确定声明文件丢失SSTab.Enabled=False'选项卡置灰ExitSubEndIf口.接着需要使用InStr函数定位,Mid函数取出所选择的数据。inti二InStr(std"*")'在字符串strl开始搜索*第一次出现的位置str2二Mid(strl,Zinti-1)'删掉已读入的字符,读出它前一个的位置皿.并用LineInput#语句整行读入。另外需要用EOF函数判断当前位置是否为文件尾位置。如果是,返回True;否则返回False。DoWhileNotEOF(l)'EOF(])为文件尾eIn
9、put#1s廿1'读入—行IV.在写入修改文件时,需要使用For语句和Do...Loop的嵌套实现条目的逐个读入。'找到条目编号ForIngl二]7bTreeViewl.Nodes.Countj二InStr(TreeViewl.Nodes(lngl).text,"”)stKL=TreeViewl・Nodes(lngl).textMid(strlfLI)=Setnodel二TreeViewl.Node