下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Internet信息检索课程设计浏览器设计、需求分析随着互联网的急速发展和它在世界范围的广泛应用,WWW(World Wide Web万维网)也日益成为互联网上信息交流不可或缺的工具。它是一种以HTTP(HyperText Transfer Protocol,超文本传输协议)为基础,使用HTML(Hy perText Mark up Lan guage,超文本标记语言)语言编写的有若干 Web刚这一概念。简单地说,URL就是文档在页构筑而成的世界。(Uniform Resource Locator)环球信息网上的地址。URL用于标识In eternet或者与In ternet相连的主机上的任何
2、可用的数据对象。URL中的U常常被认为表示统一,实际上在许多重 要文档中也是这样引用的。在 URL概念背后有一个基本思想,那就是:提供一定URL地址。信息条件下,你应能在In ternet上的任何一台机器上访问任何可用的公共数据。在Web世界中常有的第一步是确定游览的日标,这通常就是Telnet,过超链结(Hyper link)与其它Web站连接,任何人都可以设计自己的Home Page放上 Web站,然后在你的 Home Page上面产生链结,与其他人的Home Page连接,或是连到其他的 Web站;别人也一样可以连到你的Home Page,或是你的Web站,整个信息网就这样编织了起来,形
3、成一个巨大 的环球信息网。本程序主要是实现浏览网页,当用鼠标点击菜单栏的文件时,会弹出一个下拉菜单,其中有导航、前进、后腿、返回主页、停止、刷新、退出,当单 击帮助时,会弹出有一个关于版本的项目,点击它时会弹出一个关于这个程序的 版本介绍。在工具栏中,有七个图标,分别为导航、返回主页、后退、前进、停 止、刷新、帮助,分别实现不同的功能,事实上它确实也具备了一个浏览器的 基本功能,能够很好地完成网上仲浪的任务。二、概要设计MFC类ChtmIView派生于文档/视图结构,他提供了实现 Web浏览器的功能。在这个类中最重要的方法是Navigate方法,通过给他指定参数就可以浏览指定的WetMo Na
4、vigate函数原型如下:void NavigateLP CTSTR URL;DWORD deflags=O;LP CTSTR lp szTargetFrameName=NULL;LP CTSTR lp szHeaders=NULL;LP VOID IpvP ostData=NULL;DWORD dwP ostDataLe n=0;方法Navigate2也能完成网页浏览功能。他扩充了Navigate函数的功能,不经能够浏览网页,还能够以相同的方式浏览本地计算机资源。其函数原型如下:void Navigate2LP CTSTR lp szURL;DWORD deFlags=0;LP CTSTR
5、lp szTargetFrameName=NULL;LP CTSTR lp szHeaders=NULL;LP VOID IpvP ostData=NULL;DWORD dwP ostDataLe n=0;ChtmlView还提供了各种方法来实现其他的功能,如果用GoForward和GoBack方法可以重新回到前面和后面已经浏览过的网页中,GoHo me方法可以浏览设置好的默认主页,St op方法可以终止当前的连接过程等等。三、详细设计设置默认主页为1.用MfcAppWizardl (exe)创建一个新工程,将其命名为 E06o 2.用MfcAppWizardl (exe)中按照下列步骤设置工
6、程的属性。(1)设置应用程序类型为单个文档模式,选择“文档/查看体系结构支持? ”。(2)不选择数据库支持 不选中“ Active控件”复选框。 不选中“隐藏工具栏”和“打印和打印顶览”复选框,选择“WindowsSockets ” 复选框。(5)使用默认设置。设置CE06View的基类为ChtmIView,单击“完成”按钮,应用程序 E06就创建完成。图1程序的工程配置3 .打开对话框编辑器编辑对话框备控件的属性如 表1所示。用该资源创建对话框类 CaddressDlg。表 1 IDD_DIALOG_ADDRES的 设置配置如图2所示。4.打开菜单,编辑菜单IDD_MAINFRAME设置备菜
7、单命令如表2所示菜单IDD_MAINFRAME表2设置配置如图2所示。图2菜单IDD MAINFRAM的设置5 .重新设置工具栏资源IDD_MAINFRAME使得工具栏上的国标上的图标显得 更加直观,并且他们的标识设置为相应的菜单命令标识, 以共享相同的命令处理 函数。图3工具栏图标6.4程序代码分析 1 .头文件 AddressDlg . h,定义由基类 Cdialog 派生类 AddressDlg。 classCAddressDlg : public CdialogPublic:CaddressDlg(CWnd* pparen t=NULL);Enu mIDD-IDD_DIALOG_ADD
8、RESS;Cstri ng m_address;P rotected :Virtual void DODataExchange(CdataExchange*PDX ;P rotected:DECLARE_MESSAGE_MA P() ; 2.源文件 AddressDlg . Cpp。实现的功能,定义Caddress构造函数。CaddressDlg : : CaddressDlg (CWnd* pP are nt /*=NULL*/ );Cdialog(CaddressDlg : IDD,pParent)M_adress=_T( “” );3.CE06View类的定义。在头文件E06View.h
9、中定义由基类 ChtmlView派生的CE06View类的接口。Class CE06View: public ChtmlViewP rotected :C E06View();DECLARE_DYNCREACE06vieW)Public :CE06Doc*GetDocument();Public :Virtual Void 0n Draw(CDC* p DC);virtual B00L P reC_eateWi ndow(CREATESTRUCT & cs);protected :vi rtual void 0nln itialU pdate()virtual void AssertValid
10、0 const ;vi rtualCE06View();virtual void Dum p( Cdu mpCon text & de) constp rotected :/菜单命令响应函数afx_msg vold OnF lieNavigate()afx_msg voldOnF lieBackO;afx_msg voldOn FlieForward();afx_msg voldOn FlieHome();afx_msg voldOn FlieSto p();afx_msg voldOnF lieRefreshO;/AFX_MSGDECLARE_MESSAGE_MA P() ;4.CE06Vi
11、ew类的实现。(1)设置浏览器启动时启动的网页 void CE06View:O nDraw(CDC* p DC)CE06Doc* p Doc = GetDocume nt();ASSERT_VALID( pDoc);/ TODO: add draw code for n ative data here void CE06View:O nin itialU pdate()CHtmlView:O nIn itialU pdate();/ TODO: This code n avigates to a popu lar spot on the web./ cha nge the code to go
12、 where youd like.(2)消息映射BEGIN_MESSAGE_MA P(CE06View,ChtmlView) / AFX_MSG_MA P(CE06View)0N_C0MMAND(ID_FILE_NAVIGATE,0 nFileNavigate) 0N_C0MMAND(ID_FILE_BACK,0 nF ileBack)ON_COMMAND(ID_FILE_FOREARD, On FlieForward)ON_COMMAND(ID_FILE_HOMEFIieHome)ON_COMMAND(ID_FILE_ST OP,OnF ileSt op)ON_COMMAND(ID_FILE
13、_REFRESH, On FileResh) /AFX_MSG_MA PEND_MESSAGE_MA P() CE06View构造函数和析构函数CE06View: CE06View()CE06View :CE06View()设置启动时的导航站点Void CE06View: OninitalUpdate ()ChtmIView: OninitalUpdate();/重新设置导航站点Navigate2 (_T(),NULL,NULL);导航命令响应时间函数Void CE06View: OnFileNavigate()/TODO:Add your comma nd han dler code her
14、e CaddressDlg dlg;If(dlg.DoModle()!=IDOK) reture;Navigate2(dlg.m_address);后退命令响应函数void CE06View : OnFlieBack()/TODO:Add your comma nd han dier code hereGoBackO;(7) 前进命令返回函数 void CE06View : OnFlieForward()/TODO:Add your comma nd han dler code hereGoForward();(8) 返回主页命令响应函数 void CE06View : OnFlieHome(
15、)/返回主页Gohome();(9) 终止连接命令响应函数void CE06View : : OnFlieStop()/TODO:Add your comma nd han dler code hereStop();(10) 刷新命令响应函数 void CE06View : OnFlieRefresh()/TODO:Add your comma nd han dler code hereRefresh。;(11) 设置浏览器导航栏默认网页CAddressDlg:CAddressDlg(CWnd* pParent /*=NULL*/):CDialog(CAddressDlg:IDD, pPare
16、nt)/AFX_DATA_INIT(CAddressDlg)/AFX_DATA_INIT四、软件测试对浏览器的测试分为几个部分,包括功能的实现、和各个按钮的功能是否正 确。1. 运行“ .dsw”文件。得到如图的画面。- BQ闻茫远EnaiifU 冑前竝氏*串f注去我M子押1 ff诵smJ利t主fill頓S抽B手工时耳评蘇.15本科0:當工祚水平讦乏SfiBbA *Oi 7嗨匚石匚出戈啊礼i札十盂$七令a.的田BW齐az甩rt昨,耳下tt呻耳足丈.-rii-MM-Sit.古14軋刊丈阴.1攻心尊叱:GUIZHOU UN|VEn$ITV2. 运行网站3. 然后点击确定,得到如图4. 然后再测试各
17、个按钮的功能。5. 点击后退按钮,得到贵州大学网址,因此后退按钮功能实现6. 查看浏览器的版本,如图7. 各个按钮的功能都能实现 经过测试,浏览器的各个功能都能顺利地完成。五、总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。 因此 作为二十一世纪的大学生来说掌握计算机开发技术是十分重要的。经过一个多星期的学习,基本了解了 VC+勺编程方法,对 VC+勺编写程序的步骤有了一定的了解。但对于要编写较为复杂的 VC+程序还是有很大的难度,只有
18、在今后的学习中,不断总结,不断摸索,努力的掌握VC+的编程技巧,为以后的学习工作打下基础。这次的课程设计的重要目的是锻炼我们对 VC+编程的理解,在对浏览器软件制作的过程中,最重要的是收集资料和对浏览器软件的需求分析, 还有就是对编写的软件的测试,这需要组员的详细分工和协调,才能完成这次课程设计,我只 要负责对浏览器课程设计的详细设计部分, 在综合了杨秀玲的浏览器需求分析和陈海红的概要分析后,查阅老师给的浏览器的设计方案,然后加以修改,基本可 以完成对程序的设计。其中可以对一些相关的程序进行修改, 比如对浏览器的默 认的网站进行修改,具体的修改方案为:void CE06View:O nDraw
19、(CDC* p DC)CE06Doc* p Doc = GetDocume nt();ASSERT_VALID( pDoc);void CE06View:O nin itialU pdate()CHtmlView:O nIn itialU pdate();还可以对浏览器的版权、浏览器按钮的位置进行调整等修改, 达到自己满意的效 果,顺利完成这次课程设计。VC+是面向对象的程序设计的编程方法,他与人的思维习惯相吻合,而面向过程的程序设计和计算机的工作过程是完全吻合的。和面向过程的编程方法相 比,利用VC+編程的优点是:1)数据抽象的概念可以在保持外部接口不变的情况下改变内部实现,从而减少甚至避免
20、对外界的干扰;2)通过继承大幅减少冗余的代码,并可以方便地扩展现有代码,提高编码效率,也减低了出错概率,降低软件维护的难度;3)结合面向对象分析、面向对象设计,允许将问题域中的对象直接映射到 程序中,减少软件开发过程中中间环节的转换过程;4)通过对对象的辨别、戈扮可以将软件系统分割为若干相对为独立的部分,在一定程度上更便于控制软件复杂度;6)以对象为中心的设计可以帮助开发人员从静态(属性)和动态(方法)两个方面把握问题,从而更好地实现系统;7)通过对象的聚合、联合可以在保证封装与抽象的原则下实现对象在内在结构以及外在功能上的扩充,从而实现对象由低到高的升级。对于完成这次课程设计,完全需要组员间的配合,相互协调,才能完成这次 课程设计,回顾起此次课程设计,至今我仍感慨颇多,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山西省2024山西铁道职业技术学院招聘15人笔试历年参考题库典型考点附带答案详解(3卷合一)试卷2套
- 国家事业单位招聘2024中央宣传部直属单位招聘106人笔试历年参考题库典型考点附带答案详解(3卷合一)试卷2套
- 双柏县2024云南楚雄州双柏县文化和旅游局招聘县文化艺术团合同制演员(数名)笔试历年参考题库典型考点附带答案详解(3卷合一)试卷2套
- 2026年中国华电集团甘肃分公司校园招聘(第一批)笔试历年难易错考点试卷带答案解析
- 2025广东广州花都城投源盛投资有限公司招聘项目用工人员及背景调查环节人员笔试历年难易错考点试卷带答案解析
- 2026年中国航油集团贵州石油有限公司招聘中专起报备考题库及答案详解(易错题)
- 昌吉州检察机关2026年面向社会公开招聘聘用制书记员备考题库及1套参考答案详解
- 山西省体育局直属事业单位2025年度公开招聘教练员备考题库有答案详解
- 百里杜鹃分局2025年面向社会公开招聘警务辅助人员备考题库及完整答案详解1套
- 西北师范大学《大学英语》2023-2024学年第一学期期末试卷
- 《触控科技探秘:InCell触摸屏技术原理及其应用》课件
- 百菌齐发-开启菇粮时代知到智慧树章节测试课后答案2024年秋汉中职业技术学院
- 叶朗美学原理
- 现代食品加工技术(食品加工新技术)智慧树知到期末考试答案章节答案2024年中国农业大学
- 中学语文教学设计智慧树知到期末考试答案章节答案2024年河南大学
- 儿科泌尿系感染的护理
- 23秋国家开放大学《液压气动技术》形考任务1-3参考答案
- 医院信息系统操作权限分级管理制度
- 颈部肿块课件
- GB/T 17215.321-2008交流电测量设备特殊要求第21部分:静止式有功电能表(1级和2级)
- 西南财经大学财政学讲义
评论
0/150
提交评论