版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、-Internet信息檢索課程設(shè)計(jì). z-瀏覽器設(shè)計(jì)一、需求分析隨著互聯(lián)網(wǎng)的急速開展和它在世界圍的廣泛應(yīng)用,(World Wide Web,萬維網(wǎng))也日益成為互聯(lián)網(wǎng)上信息交流不可或缺的工具。它是一種以HTTP(HyperTe*t Transfer Protocol,超文本傳輸協(xié)議)為根底,使用HTML(HyperTe*t Markup Language,超文本標(biāo)記語言)語言編寫的有假設(shè)干Web剛頁構(gòu)筑而成的世界。 HTTP使用了統(tǒng)一資源定位器URL baike.baidu./view/1496.htm(Uniform Resource Locator)這一概念。簡單地說,URL就是文檔在環(huán)球信
2、息網(wǎng)上的"地址"。URL用于標(biāo)識(shí)Ineternet或者與Internet相連的主機(jī)上的任何可用的數(shù)據(jù)對(duì)象。URL中的U常常被認(rèn)為表示"統(tǒng)一",實(shí)際上在許多重要文檔中也是這樣引用的。在URL概念背后有一個(gè)根本思想,那就是:提供一定信息條件下,你應(yīng)能在Internet上的任何一臺(tái)機(jī)器上任何可用的公共數(shù)據(jù)。 在Web世界中常有的第一步是確定游覽的日標(biāo),這通常就是一個(gè)URL地址。理論上說來,環(huán)球信息網(wǎng)包括整個(gè)兩億人以上的Internet世界,它包含所有的Web站點(diǎn)、Gopher <baike.baidu./view/32795.htm>信息站、FTP
3、 <baike.baidu./view/369.htm>檔案庫、Telnet,公共存取、News新聞?dòng)懻搮^(qū)以及Wais資料庫。所以環(huán)球信息網(wǎng)可以說是當(dāng)今全世界最大的電子資料世界,已經(jīng)可以把World Wide Web當(dāng)成是Internet 的同義詞了。事實(shí)上,一般我們?nèi)粘Kf的"上Internet",其實(shí)指的就是連上World Wide Web 。是World Wide Web 環(huán)球信息網(wǎng)的縮寫,也可以簡稱為Web,中文名字為“萬維網(wǎng)。環(huán)球信息網(wǎng)之所以稱之為信息網(wǎng) <baike.baidu./view/528577.htm>,完全是因?yàn)樗馁Y源可以互
4、相連接的緣故,全世界目前大概有數(shù)萬個(gè)Web站,每個(gè)Web 站都可以透過超鏈結(jié)(Hyper link)與其它Web 站連接,任何人都可以設(shè)計(jì)自己的Home Page,放上Web 站,然后在你的Home Page 上面產(chǎn)生鏈結(jié),與其他人的Home Page 連接,或是連到其他的Web 站;別人也一樣可以連到你的Home Page ,或是你的Web 站,整個(gè)信息網(wǎng)就這樣編織了起來,形成一個(gè)巨大的環(huán)球信息網(wǎng)。 本程序主要是實(shí)現(xiàn)瀏覽網(wǎng)頁,當(dāng)用鼠標(biāo)點(diǎn)擊菜單欄的文件時(shí),會(huì)彈出一個(gè)下拉菜單,其中有導(dǎo)航、前進(jìn)、后腿、返回主頁、停頓、刷新、退出,當(dāng)單擊幫助時(shí),會(huì)彈出有一個(gè)關(guān)于版本的工程,點(diǎn)擊它時(shí)會(huì)彈出一個(gè)關(guān)于這個(gè)
5、程序的版本介紹。在工具欄中,有七個(gè)圖標(biāo),分別為導(dǎo)航、返回主頁、后退、前進(jìn)、停頓、刷新、幫助,分別實(shí)現(xiàn)不同的功能,事實(shí)上它確實(shí)也具備了一個(gè)瀏覽器的根本功能,能夠很好地完成網(wǎng)上仲浪的任務(wù)。二、概要設(shè)計(jì) MFC類ChtmlView 派生于文檔/視圖構(gòu)造,他提供了實(shí)現(xiàn)Web瀏覽器的功能。在這個(gè)類中最重要的方法是Navigate方法,通過給他指定參數(shù)就可以瀏覽指定的Web頁。Navigate函數(shù)原型如下: void Navigate LPCTSTR URL; DWORD deflags=0; LPCTSTR lpszTargetFrameName=NULL; LPCTSTR lpszHeaders=NU
6、LL; LPVOID lpvPostData=NULL; DWORD dwPostDataLen=0; ;方法Navigate2也能完成網(wǎng)頁瀏覽功能。他擴(kuò)大了Navigate函數(shù)的功能,不經(jīng)能夠?yàn)g覽網(wǎng)頁,還能夠以一樣的方式瀏覽本地計(jì)算機(jī)資源。其函數(shù)原型如下: void Navigate2 LPCTSTR lpszURL; DWORD deFlags=0; LPCTSTR lpszTargetFrameName=NULL; LPCTSTR lpszHeaders=NULL; LPVOID lpvPostData=NULL; DWORD dwPostDataLen=0; ; ChtmlView還提
7、供了各種方法來實(shí)現(xiàn)其他的功能,如果用GoForward和GoBack方法可以重新回到前面和后面已經(jīng)瀏覽過的網(wǎng)頁中,GoHome方法可以瀏覽設(shè)置好的默認(rèn)主頁,Stop方法可以終止當(dāng)前的連接過程等等。三、詳細(xì)設(shè)計(jì)設(shè)置默認(rèn)主頁為../,網(wǎng)址欄默認(rèn)為.baidu.1用MfcAppWizardle*e創(chuàng)立一個(gè)新工程,將其命名為E06。2用MfcAppWizardle*e中按照以下步驟設(shè)置工程的屬性。(1)設(shè)置應(yīng)用程序類型為單個(gè)文檔模式,選擇“文檔/查看體系構(gòu)造支持.。(2)不選擇數(shù)據(jù)庫支持(3)不選中“Active控件復(fù)選框。(4)不選中“隱藏工具欄和“打印和打印頂覽復(fù)選框,選擇“Wind
8、ows Sockets復(fù)選框。(5)使用默認(rèn)設(shè)置。(6)設(shè)置CE06View的基類為ChtmlView,單擊“完成按鈕,應(yīng)用程序E06就創(chuàng)立完成。圖1 程序的工程配置 3翻開對(duì)話框編輯器編輯對(duì)話框備控件的屬性如表1所示。用該資源創(chuàng)立對(duì)話框類CaddressDlg。表1 IDD_DIALOG_ADDRESS的設(shè)置配置如圖2所示。4.翻開菜單,編輯菜單IDD_MAINFRAME,設(shè)置備菜單命令如表2所示菜單IDD_MAINFRAME表2 設(shè)置配置如圖2所示。圖2 菜單IDD_MAINFRAME的設(shè)置 5重新設(shè)置工具欄資源IDD_MAINFRAME,使得工具欄上的國標(biāo)上的圖標(biāo)顯得更加直觀,并且他們的
9、標(biāo)識(shí)設(shè)置為相應(yīng)的菜單命令標(biāo)識(shí),以共享一樣的命令處理函數(shù)。圖3 工具欄圖標(biāo)6.4程序代碼分析1頭文件AddressDlgh,定義由基類Cdialog派生類AddressDlg。class CAddressDlg :public CdialogPublic:CaddressDlg(CWnd*pparent=NULL);EnumIDD-IDD_DIALOG_ADDRESS;Cstring m_address;Protected:Virtual void DODataE*changeCdataE*change*PD*;Protected:DECLARE_MESSAGE_MAP();2.源文件Addre
10、ssDlgCpp。實(shí)現(xiàn)的功能,定義Caddress構(gòu)造函數(shù)。CaddressDlg:CaddressDlgCWnd*pParent /*=NULL*/;Cdialog(CaddressDlg:IDD,pParent)M_adress=_T(“..);3.CE06View類的定義。在頭文件E06View.h中定義由基類ChtmlView派生的CE06View類的接口。Class CE06View:public ChtmlViewProtected:C E06View;DECLARE_DYNCREATECE06viewPublic:CE06Doc*GetDocument;Publi
11、c:Virtual Void 0nDraw(CDC* pDC); virtual B00L PreC_eateWindow(CREATESTRUCTcs);protected: vi rtual void 0nInitialUpdate();vi rtual CE06View; virtual void AssertValid const; virtual vold Dump(CdumpConte*t& dc) const; protected: 菜單命令響應(yīng)函數(shù) af*_msg vold OnFlieNavigate();af*_msg vold OnFlieBack();af*_m
12、sg vold OnFlieForward();af*_msg vold OnFlieHome();af*_msg vold OnFlieStop();af*_msg vold OnFlieRefresh();/AF*_MSGDECLARE_MESSAGE_MAP();4.CE06View類的實(shí)現(xiàn)。1設(shè)置瀏覽器啟動(dòng)時(shí)啟動(dòng)的網(wǎng)頁void CE06View:OnDraw(CDC* pDC)CE06Doc* pDoc = GetDocument();ASSERT_VALID(pDoc);/ TODO: add draw code for native data herevoid CE06View:O
13、nInitialUpdate()CHtmlView:OnInitialUpdate();/ TODO: This code navigates to a popular spot on the web./ change the code to go where you'd like.Navigate2(_T("../"),NULL,NULL);2消息映射BEGIN_MESSAGE_MAP(CE06View,ChtmlView)/ AF*_MSG_MAP(CE06View)ON_MAND(ID_FILE_NAVIGATE,OnFileNavigate)O
14、N_MAND(ID_FILE_BACK,OnFileBack)ON_MAND(ID_FILE_FOREARD,OnFlieForward)ON_MAND(ID_FILE_HOME,OnFlieHome)ON_MAND(ID_FILE_STOP,OnFileStop)ON_MAND(ID_FILE_REFRESH,OnFileResh)/AF*_MSG_MAPEND_MESSAGE_MAP()(3)CE06View構(gòu)造函數(shù)和析構(gòu)函數(shù)CE06View:CE06ViewCE06View :CE06View(4)設(shè)置啟動(dòng)時(shí)的導(dǎo)航站點(diǎn)Void CE06View:OnInitalUpdateChtmlVi
15、ew: OnInitalUpdate;/重新設(shè)置導(dǎo)航站點(diǎn)Navigate2_T(“.micosoft./visuac/),NULL,NULL;(5)導(dǎo)航命令響應(yīng)時(shí)間函數(shù)Void CE06View:OnFileNavigate()/TODO:Add your mand handler code here CaddressDlg dlg;If(dlg.DoModle()!=IDOK) reture;Navigate2(dlg.m_address);(6)后退命令響應(yīng)函數(shù)void CE06View:OnFlieBack()/TODO:Add your mand handler code hereGo
16、Back();(7)前進(jìn)命令返回函數(shù)void CE06View:OnFlieForward()/TODO:Add your mand handler code hereGoForward();(8)返回主頁命令響應(yīng)函數(shù)void CE06View:OnFlieHome()/返回主頁Gohome();(9)終止連接命令響應(yīng)函數(shù) void CE06View:OnFlieStop()/TODO:Add your mand handler code hereStop();(10)刷新命令響應(yīng)函數(shù)void CE06View:OnFlieRefresh()/TODO:Add your mand handle
17、r code hereRefresh();11設(shè)置瀏覽器導(dǎo)航欄默認(rèn)網(wǎng)頁CAddressDlg:CAddressDlg(CWnd* pParent /*=NULL*/): CDialog(CAddressDlg:IDD, pParent)/AF*_DATA_INIT(CAddressDlg)m_address = _T(".baidu.");/AF*_DATA_INIT四、軟件測試對(duì)瀏覽器的測試分為幾個(gè)局部,包括功能的實(shí)現(xiàn)、和各個(gè)按鈕的功能是否正確。1.運(yùn)行“.dsw文件。得到如圖的畫面。2.運(yùn)行.baidu.3.然后點(diǎn)擊確定,得到如圖4.然后再測試各個(gè)按鈕的功能。5.點(diǎn)擊后
18、退按鈕,得到大學(xué)網(wǎng)址,因此后退按鈕功能實(shí)現(xiàn)6.查看瀏覽器的版本,如圖7.各個(gè)按鈕的功能都能實(shí)現(xiàn)經(jīng)過測試,瀏覽器的各個(gè)功能都能順利地完成。五、總結(jié)課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)開展的日新日異,當(dāng)今計(jì)算機(jī)應(yīng)用在生活中可以說得是無處不在。因此作為二十一世紀(jì)的大學(xué)生來說掌握計(jì)算機(jī)開發(fā)技術(shù)是十分重要的。經(jīng)過一個(gè)多星期的學(xué)習(xí),根本了解了VC+的編程方法,對(duì)VC+的編寫程序的步驟有了一定的了解。但對(duì)于要編寫較為復(fù)雜的VC+程序還是有很大的難度,只有在今后的學(xué)習(xí)中,不斷總結(jié),不斷摸索,努力的掌握
19、VC+的編程技巧,為以后的學(xué)習(xí)工作打下根底。這次的課程設(shè)計(jì)的重要目的是鍛煉我們對(duì)VC+編程的理解,在對(duì)瀏覽器軟件制作的過程中,最重要的是收集資料和對(duì)瀏覽器軟件的需求分析,還有就是對(duì)編寫的軟件的測試,這需要組員的詳細(xì)分工和協(xié)調(diào),才能完成這次課程設(shè)計(jì),我只要負(fù)責(zé)對(duì)瀏覽器課程設(shè)計(jì)的詳細(xì)設(shè)計(jì)局部,在綜合了秀玲的瀏覽器需求分析和海紅的概要分析后,查閱教師給的瀏覽器的設(shè)計(jì)方案,然后加以修改,根本可以完成對(duì)程序的設(shè)計(jì)。其中可以對(duì)一些相關(guān)的程序進(jìn)展修改,比方對(duì)瀏覽器的默認(rèn)的進(jìn)展修改,具體的修改方案為:void CE06View:OnDraw(CDC* pDC)CE06Doc* pDoc = GetDocume
20、nt();ASSERT_VALID(pDoc);void CE06View:OnInitialUpdate()CHtmlView:OnInitialUpdate();Navigate2(_T("../"),NULL,NULL);還可以對(duì)瀏覽器的、瀏覽器按鈕的位置進(jìn)展調(diào)整等修改,到達(dá)自己滿意的效果,順利完成這次課程設(shè)計(jì)。VC+是面向?qū)ο蟮某绦蛟O(shè)計(jì)的編程方法,他與人的思維習(xí)慣相吻合,而面向過程的程序設(shè)計(jì)和計(jì)算機(jī)的工作過程是完全吻合的。和面向過程的編程方法相比,利用VC+編程的優(yōu)點(diǎn)是:1數(shù)據(jù)抽象的概念可以在保持外部接口不變的情況下改變部實(shí)現(xiàn),從而減少甚至防止對(duì)外界的干擾;2通過繼承大幅減少冗余的代碼,并可以方便地?cái)U(kuò)展現(xiàn)有代碼,提高編碼效率,也減低了出錯(cuò)概率,降低軟件維護(hù)的難度;3結(jié)合面向?qū)ο蠓治觥⒚嫦驅(qū)ο笤O(shè)計(jì),允許將問題域中的對(duì)象直接映射到程序中,減少軟件開發(fā)過程中中間環(huán)節(jié)的轉(zhuǎn)換過程;4通過對(duì)對(duì)象的區(qū)分、劃分可以將軟件系統(tǒng)分割為假設(shè)干相對(duì)為獨(dú)立的局部,在一定程度上更便于控制軟件復(fù)雜度;6以對(duì)象為中心的設(shè)計(jì)可以幫助開發(fā)人員從靜態(tài)屬性和動(dòng)態(tài)方法兩個(gè)方面把握問題,從而更好地實(shí)現(xiàn)系統(tǒng);7通過對(duì)象的聚合、聯(lián)合可以在保證封裝與抽象的原則下實(shí)現(xiàn)對(duì)象在在構(gòu)造以及外在功能上的擴(kuò)大,從而實(shí)現(xiàn)對(duì)象由低到高的升級(jí)。 對(duì)于完成這次課程設(shè)計(jì),完
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個(gè)人光伏貸款合同(綠色能源支持)3篇
- 二零二五年度大型活動(dòng)海報(bào)打印合同下載須知3篇
- 2025年度農(nóng)業(yè)生態(tài)補(bǔ)償機(jī)制實(shí)施合同規(guī)范4篇
- 2025年度出租車租賃合同范本(含乘客投訴處理流程)2篇
- 基于大數(shù)據(jù)的金融欺詐檢測模型-深度研究
- 2025年度木門安裝與室內(nèi)空氣質(zhì)量檢測合同4篇
- 二零二五年度外墻石材干掛裝飾工程承攬協(xié)議3篇
- 2025年度個(gè)人虛擬貨幣投資管理合同4篇
- 2025年度個(gè)人房產(chǎn)買賣合同裝修及家具家電交接協(xié)議4篇
- 2025年度私募股權(quán)投資基金合伙人股權(quán)轉(zhuǎn)讓協(xié)議范本3篇
- 中央2025年國務(wù)院發(fā)展研究中心有關(guān)直屬事業(yè)單位招聘19人筆試歷年參考題庫附帶答案詳解
- 2024年09月北京中信銀行北京分行社會(huì)招考(917)筆試歷年參考題庫附帶答案詳解
- 外呼合作協(xié)議
- 小學(xué)二年級(jí)100以內(nèi)進(jìn)退位加減法800道題
- 保險(xiǎn)公司2025年工作總結(jié)與2025年工作計(jì)劃
- 2024年公司領(lǐng)導(dǎo)在新年動(dòng)員會(huì)上的講話樣本(3篇)
- 眼科護(hù)理進(jìn)修專題匯報(bào)
- GB/T 33629-2024風(fēng)能發(fā)電系統(tǒng)雷電防護(hù)
- 深靜脈血栓(DVT)課件
- 2023年四川省廣元市中考數(shù)學(xué)試卷
- GB/T 19885-2005聲學(xué)隔聲間的隔聲性能測定實(shí)驗(yàn)室和現(xiàn)場測量
評(píng)論
0/150
提交評(píng)論