中图分类号查询体统

中图分类号查询体统

ID:16200032

大小:74.00 KB

页数:10页

时间:2018-08-08

中图分类号查询体统_第1页
中图分类号查询体统_第2页
中图分类号查询体统_第3页
中图分类号查询体统_第4页
中图分类号查询体统_第5页
资源描述:

《中图分类号查询体统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、中图分类号查询体统课程设计报告姓名:张涛班级:06081802学号:0608180235难度:☆☆☆☆知识点:(1)树形视图控件的应用;(2)文本文件的读写;(3)拖放操作;(4)选项卡的应用;(5)字符串处理;(6)图像列表控件的应用。一、功能简介本课程要求编制一个“中图分类号查询系统”程序,供用户方便地浏览、查询、修改、添加和删除分类号。(1)启动程序后自动将中图分类号添加到树形视图中,供用户实施浏览、查询、修改、添加和删除分类号的操作。(2)用户单击搜索按钮后,程序搜索用户要求的关键字所对应的分类号,并添加到列表框中。如在精确查找的模式下不能查找,则弹出消息框询问用户是否进行模糊查询

2、。(3)用户单击删除按钮将删除所选节点,同时用户将节点拖放到回收站图标上也能删除所选节点,回收站的图标也随之改变。(4)中图分类号是不断发展的,通过“添加”选项卡可以添加新的分类号。(5)“在位编辑”功能可以修改分类号。(6)程序在退出时,自动保存所有改动,包括修改、添加和删除。二、课程设计的详细设计在设计的初期主要完成了该程序的界面设计,在设计过程中遇到的第一个难题就是如何找到程序中所需要的图标,说来好笑,我直到19号才知道光盘中会提供所需的各类图标和中图分类号的文本文档(我初期的文档是照着书上所列的很少的一些自己敲进记事本的)。接着就遇到这次设计中最头疼的事,那就是如何将记事本中的数据

3、读取进树型结构中去了。在这个过程的基本思路就是“截取,定位”。比如要将字符串“C0*社会科学理论与方法论*2*C”读取,首先就要用lineinput语句将整个字符串的值赋于str1,然后用instr语句寻找第一个“*”的位置,再将其前面的字符用mid语句截取下来作为treeview1的节点的key属性,然后再用mid语句截取第一个“*”后的字符,继续寻找下一个“*”的位置,截取其前面的字符将其值赋于strtext,这一个“*”后的数字就是该节点在nodes集合所处的级数。如果为1,则把strkey+””+strtext的值作为节点的text属性直接添加节点。不为1,则将字符串倒置(调用tu

4、rn函数)读取最后一个“*”字符所在的位置(倒数的),再根据位置与长度的关系,寻找其父节点的key属性作为该节点的relative属性添加节点。接下来的工作就是如何进行精确查找和模糊查找,精确查找即“完全相同”,用like关键字就能实现,而模糊查找用instr也能很方便地实现。查找之后将节点添加到列表框中,如果是大类,则在前面添加一个”+”,不是大类就添加一个空格。在列表框中单击可以展开节点。紧接着就是实现节点的添加和删除。添加节点要求添加的节点的字符必须包含其父节点的key属性,即子节点的key属性中包含父节点的整个key字符串,并且添加的节点的不能和以前的节点重复。在添加节点的过程中要

5、求子节点的text属性中必须要有一个空格,该空格有着非同寻常的意义。添加的节点只能作为子节点,如果被添加的节点不是大类,添加节点后升级为大类,同时,图标也发生改变。这样就会产生一个弊病,就是不能添加兄弟节点。如果我们删除了第一类节点,那么就不能在程序中进行添加了(只能ZTFLH文档中编辑)。所以在删除过程中不能删除第一大类。一旦要删除则出现消息框阻止该操作。删除是能通过remove语句轻易实现的。只不过在进行拖放删除是,要按住ctrl键,这是为了防止和其他过程发生冲突。两种删除都会使回收站图标改变。随后就是在位编辑功能的实现。双击触发在位编辑,编辑之后,对其newstring属性进行查看,

6、分情况决定是否符合要求。特别的,节点key属性不能改变,且其后要有一个空格。该空格和前面所说的空格一样有着重要的用处。最后就是对修改的保存工作。在该程序中定义了一个逻辑型变量gaibian,其初值为false,在程序中,若进行在位编辑,删除,添加都会使其值变为true,在程序卸载过程中,先判断改变量的值,如果是false则直接退出,否则进行保存操作。保存操作的基本思想是读取节点的text属性,将其中的第一个空格用mid语句改为“*”,再返回其父节点的个数,这个数加上1就是节点所处的级数,然后依次返回其父节点的key属性并倒置上下级直到其父节点属性为nothing为止,就能得到ZTFLH所要

7、求的格式。下面举例说明:节点node1=T-012(为了叙述的方便,在此仅用节点的key属性表示节点)的text属性为“T-012中国”,现在用instr函数查找第一个空格所在的位置,为6,再用mid函数将“T-012中国”的第6个字符换成“*”,赋值给str1,在接下来的do循环中,我们把node1赋于node2,即node2=T-012,并将node2的父节点赋于node1,node1=T-01,并判断node2的父

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。