机械学基础课程设计.doc

上传人:da****u 文档编号:1066939 上传时间:2018-11-28 格式:DOC 页数:39 大小:514.50KB
下载 相关 举报
机械学基础课程设计.doc_第1页
第1页 / 共39页
机械学基础课程设计.doc_第2页
第2页 / 共39页
机械学基础课程设计.doc_第3页
第3页 / 共39页
机械学基础课程设计.doc_第4页
第4页 / 共39页
机械学基础课程设计.doc_第5页
第5页 / 共39页
点击查看更多>>
资源描述

1、Harbin Institute of Technology at Weihai数据结构课程设计报告数据结构课程设计报告设计题目: 程序和文件快速打开工具 院 系: 计算机科学与技术学院 班 级: 0804102 学 号:080410227 080410228 080410206 080410226 设 计 者: 康龙彪 朱虹宇 连思思 刘宗仁 哈尔滨工业大学(威海)I前 言数据结构是计算机专业的必修和主干课程之一,它旨在使学生学会分析研究数据对象的特性,学会数据的组织方法,以便选择合适的数据逻辑结构和存储结构,以及相应的运算(操作) ,把现实世界中的问题转化为计算机内部的表示和处理,这是一个

2、良好的程序设计技能训练的过程。在整个教学或学习过程中,解决实际问题的能力和技巧的训练是一个重要的环节。本课题设计要求学生分组进行(每组 2-4 人) ,自行选题,选题的思想是根据实际需要进行调研,以组为单位提交课程设计任务书,给出所选项目的背景和意义,由导师确定选题的级别,主要是以实用性为主,开发一个具有实际价值的项目,经过 2 周的课程设计后接受课程设计组老师的结题验收。教师评语:成 绩:II哈尔滨工业大学(威海)数据结构课程设计任务书院(系): 计算机科学与技术学院 专 业:计算机科学技术姓 名: 康龙彪 朱虹宇 刘宗仁 连思思 学 号:080410227 080410228 080410

3、226 080410206课程设计题目:程序和文件快速打开工具问题阐述与分析:设计题目背景:随着电脑在日常生活、工作中用到的越来越广泛,作用越来越大,各种应用软件的数量增越来越快。如今我们为了不同的需要常常在电脑上装了很多软件,为了使用方便,经常可见桌面上堆满了快捷方式,但是这却使我们经常为找到要用的软件而苦心寻找图标或程序菜单。相似的情况也发生在文件的使用和管理中,我们经常会为不能快速自己想听的一首歌或是文档而烦恼。该课程设计所要开发的小工具就是帮助我们解决这些问题。设计实现意义:该软件能够让你快速查找定位并打开想使用的应用程序和系统功能,并且可以指定存放文档的目录和文档类型,实现文档的快速

4、查找和打开,以实现轻量级桌面搜素的功能。使用该工具可以使你在电脑上的学习、工作更加有效率,有更好的使用体验。解决的主要问题:1、 在安装应用程序较多的情况下,通过输入关键字实现特定程序的查找定位和快速启动;2、 在实现启动程序的同时,实现对 windows 控制面板中系统功能的快速调用;3、 指定存放常用文档的目录和常用文档类型,在文档较多的情况下,通过输入关键字查找定位文档并快速打开;4、 在此基础上,考虑拓展功能如下:1) 通过预先输入常用网站列表或者扫描网页收藏夹,在输入网站关键字时快速打开网页;2) 实现界面的换肤功能,具有更好的用户体验;3)将文件搜索功能实现的更完整,将桌面搜索功能

5、融入进去。III工作量:该程序功能大致可划分为以下几个部分:1、 程序、系统功能、文件和网页信息索引列表的建立,以及对于以上四种类型实现不同的调用启动方式。2、 当输入关键字时,字符的精确匹配的实现,考虑使用正则表达式。3、 多个皮肤动态更换的实现。4、 考虑将基本框架和功能实现相分离,将第一项四种类别的启动用插件的方式实现,使该工具功能具有更好的可扩展性。该工具实现后,运行时以简洁美观的对话框呈现,当输入关键字时,程序自动将匹配最好的结果以列表的方式呈现,用户可选择正确的项目快速打开。工作计划安排:第 16 周:前半周小组成员将开发环境配置好,该软件使用 VS2008 开发,为了实现版本控制

6、,使小组成员更好的协作开发,在 google code 上申请项目托管,使用 SVN 服务进行版本控制;后半周查找资料,并作出软件各个功能模块的详细设计和详细分工,并在周末正式开始代码编写。第 17 周:并行开发基本框架各个模块,在该周最后几天基本完成基本框架和各个模块的编写,开始整合调试程序。第 18 周:前半周做界面的优化和程序的调试及完善;后半周整理程序文档,准备课程设计的验收。同组设计者及分工:康龙彪:1、程序整体框架的设计和实现,如插件和皮肤的接口实现;2、基本功能类的设计和实现,如索引建立和程序、文件打开;3、组织小组开发和组员的详细分工,协调小组成员的开发工作;朱虹宇:1、具体插

7、件的实现,即程序、系统功能、文件和网页打开功能的插件开发;2、负责模块的调试工作;连思思:1、程序界面的设计和美化,皮肤的设计和实现;2、与康龙彪共同负责软件整体的调试;3、程序开发文档的管理;刘宗仁:1、IE 和火狐浏览器网页收藏夹搜索插件的实现;IV2、插件的调试工作。哈尔滨工业大学(威海)课程设计报告11 项目研究背景与意义设计题目背景:随着电脑在日常生活、工作中用到的越来越广泛,作用越来越大,各种应用软件的数量增越来越快。如今我们为了不同的需要常常在电脑上装了很多软件,为了使用方便,经常可见桌面上堆满了快捷方式,但是这却使我们经常为找到要用的软件而苦心寻找图标或程序菜单。相似的情况也发

8、生在文件的使用和管理中,我们经常会为不能快速自己想听的一首歌或是文档而烦恼。该课程设计所要开发的小工具就是帮助我们解决这些问题。设计实现意义:该软件能够让你快速查找定位并打开想使用的应用程序和系统功能,并且可以指定存放文档的目录和文档类型,实现文档的快速查找和打开,以实现轻量级桌面搜素的功能。使用该工具可以使你在电脑上的学习、工作更加有效率,有更好的使用体验。2 需求分析本程序功能可分成 7 个部分:主程序,5 个插件和一套皮肤系统。下面根据用户的实际需求,分别对每个部分的所要所要实现的功能的具体要求:1、程序主体部分本程序的主要功能是实现程序和文件的快速打开,对于主体部分,具体要实现以下功能

9、;当用户打开了一个窗口工作时,需要打开另一个程序协助工作,而安装的软件较多,此时,主程序可以在用户快速按下快捷键后显示,然后用户输入程序的几个关键字后按回车后程序帮助用户搜索到该程序并自动打开。用户将一些常用的文件放在固定的文件夹内,如音乐文件夹,在用户预先在程序中添加音乐文件夹和音乐文件类型后,当用户在打开窗口工作时想听首歌放松一下时,可以按照上面的方法,只需简单输入歌曲名关键字就可以快速打开,操作更加快捷迅速,为用户节省了时间。以上方法同样适用于快速打开指定文件夹内的常用文件。用户可以根据自己的使用习惯设置程序的显示方式,可以是始终显示或者始终显示在其他窗口的最顶端,也可以当打开自己要找的

10、程序或文件哈尔滨工业大学(威海)课程设计报告2后自动隐藏,下次要使用时按快捷键显示。用户可以设置开机自动启动,省去查找该软件的时间。用户可以对返回的搜素结果的数量进行设置,此外由于程序是基于索引查找,当用户有新程序添加时需要刷新索引,程序需要实现每隔固定时间自动刷新索引,在规定默认时间的同时用户可以对该时间进行设置。2、插件 1Controly 功能是用户可以输入关键字打开控制面板中的应用程序。3、插件 2weby 实现用户可在程序的输入框中输入网址直接打开网页,也可用于快捷的调用网页搜索功能,实现网页搜索。4、插件 3explory 功能是输入路径打开特定的文件夹或者是快捷方式。5、插件 4

11、foxy 用户可以打开火狐书签中所收藏的网页。6、插件 5ie 用输入网页收藏时的标题,可以打开 ie 收藏夹的网页7、皮肤系统:皮肤系统主要由主界面显示功能和换肤体验功能两部分构成。(1)主界面显示功能:搜索时,当用户选定其中任意一个条目时,程序会在中间区域显示该项条目所对应的特定程序或文件的图标,同时,在右侧区域显示特定程序或文件的名称结果。两种显示结果增强了界面的友好性,使用户及时定位自己想要的搜索结果。(2)换肤体验功能:用户在输入框以外的界面的任何部位单击右键后,可在弹出对话框中进行换肤功能的选择。本程序从广大用户的年龄、职业、兴趣爱好出发,开发并提供了若干项不同风格的皮肤系列,在色

12、彩、字体、显示效果上进行了精心的设计,用户可以根据自己的喜好从选项列表中点击选择具有不同特色的皮肤,单击确定按钮后程序自动换肤,一个新的界面立即呈现在用户眼前。换肤功能为用户提供了一个轻松、舒适的使用环境,绚丽的皮肤界面使用户有一个愉悦的心情,用户可以更加个性化、高效地使用本程序。3 概要设计CLaunchyDlg 类:主程序对话框的显示和处理右键菜单、热键、关闭等消息的响应;Option 类:负责读取程序配置文件信息,保存程序的各种配置信息变量等等有重要的变量或文件可以单独介绍哈尔滨工业大学(威海)课程设计报告3皮肤:Skin 类:获取特定的 ini 皮肤文件,并从文件中读取各项参数信息,将

13、其存储到皮肤类的变量当中,其中包括对于颜色信息以及矩形信息的格式转化;AlphaBorder 类:实现对于窗口边框图像透明度属性的设置,消息响应的设置;CMyStatic 类:实现对于搜索结果图标预览背景透明度等属性的设置,图像的绘制显示的功能;ReadOnlyEdit 类: 实现对于搜索结果名称预览文本属性、文本背景属性的设置,只读文本的显示功能,以及消息的响应;SkinChooser 类:从 Option 类中获取皮肤文件数目,添加并显示所有皮肤文件名称,根据消息响应结果返回皮肤列表索引,从而得到相应索引对应的皮肤文件名称。整个程序的流程图如下:哈尔滨工业大学(威海)课程设计报告44 运行

14、结果与分析运行结果与分析将在视频中展示哈尔滨工业大学(威海)课程设计报告55 问题及难点在实现软件的过程中,主要难点就是如何快速精确的从数据库中匹配用户所输入的字符串和记录功能,比如记录用户刚打开的程序。在第二次输入搜索时会显示在第一项。在解决匹配问题的时候我们用到了 boost 库, Boost C+ 库(Libraries) 是一组扩充 C+功能性的经过同行评审(Peer-reviewed)且开放源代码程序库。大多数的函数为了能够以开放源代码、封闭项目的方式运作。其中包含了对正则表达式处理的 regex 正则表达式库,加快匹配的速度。其次,用到了 smart_ptr 智能指针库,当使用完后

15、指针会自动销毁,不必担心内存泄漏的问题。6 总结(收获与体会)在本次课设中,我们是从实际生活中的需求出发去设计程序,是我们在设计实现软件的过程中有很大的兴趣,能够坚持完成。还有就是团队合作很重要,团队分工明确,这对代码质量也有很严格的要求,代码的模块化使得每个人可以同时开发自己的功能。我们使用谷歌的项目托管服务,并使用 SVN 版本控制系统,提高整体的开发效率。在本次课设中体会到了团队合作的重要性。10. 主要代码主对话框的功能代码:void ModifyReg_run(bool m_bAutoRun)HKEY hKey; CString temp1(_T(“SoftwareMicrosoftWindowsCurrentVersionRun“);/找到系统的启动项LPCTSTR lpRun = (LPCTSTR)(temp1.AllocSysString(); /打开启动项 Key long lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpRun, 0, KEY_WRITE | KEY_READ, if(lRet = ERROR_SUCCESS)if(m_bAutoRun)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 公文范文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。