中图分类号查询体统.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中图分类号查询体统.doc

中图分类号查询体统 课程设计报告 姓名:张涛 班级 学号:0608180235 难度:☆☆☆☆ 知识点:(1)树形视图控件的应用;(2)文本文件的读写;(3)拖放操作;(4)选项卡的应用;(5)字符串处理;(6)图像列表控件的应用。 功能简介 本课程要求编制一个“中图分类号查询系统”程序,供用户方便地浏览、查询、修改、添加和删除分类号。 (1)启动程序后自动将中图分类号添加到树形视图中,供用户实施浏览、查询、修改、添加和删除分类号的操作。 (2)用户单击搜索按钮后,程序搜索用户要求的关键字所对应的分类号,并添加到列表框中。如在精确查找的模式下不能查找,则弹出消息框询问用户是否进行模糊查询。 (3)用户单击删除按钮将删除所选节点,同时用户将节点拖放到回收站图标上也能删除所选节点,回收站的图标也随之改变。 (4)中图分类号是不断发展的,通过“添加”选项卡可以添加新的分类号。 (5)“在位编辑”功能可以修改分类号。 (6)程序在退出时,自动保存所有改动,包括修改、添加和删除。 课程设计的详细设计 在设计的初期主要完成了该程序的界面设计,在设计过程中遇到的第一个难题就是如何找到程序中所需要的图标,说来好笑,我直到19号才知道光盘中会提供所需的各类图标和中图分类号的文本文档(我初期的文档是照着书上所列的很少的一些自己敲进记事本的)。 接着就遇到这次设计中最头疼的事,那就是如何将记事本中的数据读取进树型结构中去了。在这个过程的基本思路就是“截取,定位”。比如要将字符串“C0*社会科学理论与方法论*2*C”读取,首先就要用line input语句将整个字符串的值赋于str1 ,然后用instr 语句寻找第一个“*”的位置,再将其前面的字符用mid 语句截取下来作为treeview1的节点的key 属性,然后再用mid 语句截取第一个“*”后的字符,继续寻找下一个“*”的位置,截取其前面的字符将其值赋于strtext,这一个“*”后的数字就是该节点在nodes 集合所处的级数。如果为1,则把strkey+” ”+strtext 的值作为节点的text 属性直接添加节点。不为1,则将字符串倒置(调用turn 函数)读取最后一个“*”字符所在的位置(倒数的),再根据位置与长度的关系,寻找其父节点的key 属性作为该节点的relative属性添加节点。 接下来的工作就是如何进行精确查找和模糊查找,精确查找即“完全相同”,用like 关键字就能实现,而模糊查找用instr 也能很方便地实现。查找之后将节点添加到列表框中,如果是大类,则在前面添加一个”+”,不是大类就添加一个空格。在列表框中单击可以展开节点。 紧接着就是实现节点的添加和删除。添加节点要求添加的节点的字符必须包含其父节点的key属性,即子节点的key 属性中包含父节点的整个key 字符串,并且添加的节点的不能和以前的节点重复。在添加节点的过程中要求子节点的text 属性中必须要有一个空格,该空格有着非同寻常的意义。添加的节点只能作为子节点,如果被添加的节点不是大类,添加节点后升级为大类,同时,图标也发生改变。这样就会产生一个弊病,就是不能添加兄弟节点。如果我们删除了第一类节点,那么就不能在程序中进行添加了(只能 ZTFLH 文档中编辑)。所以在删除过程中不能删除第一大类。一旦要删除则出现消息框阻止该操作。删除是能通过remove语句轻易实现的。只不过在进行拖放删除是,要按住ctrl 键,这是为了防止和其他过程发生冲突。两种删除都会使回收站图标改变。 随后就是在位编辑功能的实现。双击触发在位编辑,编辑之后,对其newstring 属性进行查看,分情况决定是否符合要求。特别的,节点key属性不能改变,且其后要有一个空格。该空格和前面所说的空格一样有着重要的用处。 最后就是对修改的保存工作。在该程序中定义了一个逻辑型变量gaibian,其初值为false,在程序中,若进行在位编辑,删除,添加都会使其值变为true,在程序卸载过程中,先判断改变量的值,如果是false则直接退出,否则进行保存操作。保存操作的基本思想是读取节点的text属性,将其中的第一个空格用mid 语句改为“*”,再返回其父节点的个数,这个数加上1就是节点所处的级数,然后依次返回其父节点的key 属性并倒置上下级直到其父节点属性为nothing为止,就能得到ZTFLH所要求的格式。下面举例说明: 节点node1=T-012 (为了叙述的方便,在此仅用节点的key属性表示节点) 的text 属性为“T-012 中国”,现在用instr 函数查找第一个空格所在的位置,为6,再用mid函数将“T-012 中国”的第6个字符换成“*”,赋值给 str1,在接下来的do 循环中,我们把node1赋于nod

文档评论(0)

克拉钻 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档