C語言程序瀏覽器課程設計報告_第1頁
C語言程序瀏覽器課程設計報告_第2頁
C語言程序瀏覽器課程設計報告_第3頁
C語言程序瀏覽器課程設計報告_第4頁
C語言程序瀏覽器課程設計報告_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、-Internet信息檢索課程設計. z-瀏覽器設計一、需求分析隨著互聯(lián)網(wǎng)的急速開展和它在世界圍的廣泛應用,(World Wide Web,萬維網(wǎng))也日益成為互聯(lián)網(wǎng)上信息交流不可或缺的工具。它是一種以HTTP(HyperTe*t Transfer Protocol,超文本傳輸協(xié)議)為根底,使用HTML(HyperTe*t Markup Language,超文本標記語言)語言編寫的有假設干Web剛頁構筑而成的世界。 HTTP使用了統(tǒng)一資源定位器URL baike.baidu./view/1496.htm(Uniform Resource Locator)這一概念。簡單地說,URL就是文檔在環(huán)球信

2、息網(wǎng)上的"地址"。URL用于標識Ineternet或者與Internet相連的主機上的任何可用的數(shù)據(jù)對象。URL中的U常常被認為表示"統(tǒng)一",實際上在許多重要文檔中也是這樣引用的。在URL概念背后有一個根本思想,那就是:提供一定信息條件下,你應能在Internet上的任何一臺機器上任何可用的公共數(shù)據(jù)。 在Web世界中常有的第一步是確定游覽的日標,這通常就是一個URL地址。理論上說來,環(huán)球信息網(wǎng)包括整個兩億人以上的Internet世界,它包含所有的Web站點、Gopher <baike.baidu./view/32795.htm>信息站、FTP

3、 <baike.baidu./view/369.htm>檔案庫、Telnet,公共存取、News新聞討論區(qū)以及Wais資料庫。所以環(huán)球信息網(wǎng)可以說是當今全世界最大的電子資料世界,已經(jīng)可以把World Wide Web當成是Internet 的同義詞了。事實上,一般我們?nèi)粘Kf的"上Internet",其實指的就是連上World Wide Web 。是World Wide Web 環(huán)球信息網(wǎng)的縮寫,也可以簡稱為Web,中文名字為“萬維網(wǎng)。環(huán)球信息網(wǎng)之所以稱之為信息網(wǎng) <baike.baidu./view/528577.htm>,完全是因為它的資源可以互

4、相連接的緣故,全世界目前大概有數(shù)萬個Web站,每個Web 站都可以透過超鏈結(Hyper link)與其它Web 站連接,任何人都可以設計自己的Home Page,放上Web 站,然后在你的Home Page 上面產(chǎn)生鏈結,與其他人的Home Page 連接,或是連到其他的Web 站;別人也一樣可以連到你的Home Page ,或是你的Web 站,整個信息網(wǎng)就這樣編織了起來,形成一個巨大的環(huán)球信息網(wǎng)。 本程序主要是實現(xiàn)瀏覽網(wǎng)頁,當用鼠標點擊菜單欄的文件時,會彈出一個下拉菜單,其中有導航、前進、后腿、返回主頁、停頓、刷新、退出,當單擊幫助時,會彈出有一個關于版本的工程,點擊它時會彈出一個關于這個

5、程序的版本介紹。在工具欄中,有七個圖標,分別為導航、返回主頁、后退、前進、停頓、刷新、幫助,分別實現(xiàn)不同的功能,事實上它確實也具備了一個瀏覽器的根本功能,能夠很好地完成網(wǎng)上仲浪的任務。二、概要設計 MFC類ChtmlView 派生于文檔/視圖構造,他提供了實現(xiàn)Web瀏覽器的功能。在這個類中最重要的方法是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)頁瀏覽功能。他擴大了Navigate函數(shù)的功能,不經(jīng)能夠瀏覽網(wǎng)頁,還能夠以一樣的方式瀏覽本地計算機資源。其函數(shù)原型如下: void Navigate2 LPCTSTR lpszURL; DWORD deFlags=0; LPCTSTR lpszTargetFrameName=NULL; LPCTSTR lpszHeaders=NULL; LPVOID lpvPostData=NULL; DWORD dwPostDataLen=0; ; ChtmlView還提

7、供了各種方法來實現(xiàn)其他的功能,如果用GoForward和GoBack方法可以重新回到前面和后面已經(jīng)瀏覽過的網(wǎng)頁中,GoHome方法可以瀏覽設置好的默認主頁,Stop方法可以終止當前的連接過程等等。三、詳細設計設置默認主頁為../,網(wǎng)址欄默認為.baidu.1用MfcAppWizardle*e創(chuàng)立一個新工程,將其命名為E06。2用MfcAppWizardle*e中按照以下步驟設置工程的屬性。(1)設置應用程序類型為單個文檔模式,選擇“文檔/查看體系構造支持.。(2)不選擇數(shù)據(jù)庫支持(3)不選中“Active控件復選框。(4)不選中“隱藏工具欄和“打印和打印頂覽復選框,選擇“Wind

8、ows Sockets復選框。(5)使用默認設置。(6)設置CE06View的基類為ChtmlView,單擊“完成按鈕,應用程序E06就創(chuàng)立完成。圖1 程序的工程配置 3翻開對話框編輯器編輯對話框備控件的屬性如表1所示。用該資源創(chuàng)立對話框類CaddressDlg。表1 IDD_DIALOG_ADDRESS的設置配置如圖2所示。4.翻開菜單,編輯菜單IDD_MAINFRAME,設置備菜單命令如表2所示菜單IDD_MAINFRAME表2 設置配置如圖2所示。圖2 菜單IDD_MAINFRAME的設置 5重新設置工具欄資源IDD_MAINFRAME,使得工具欄上的國標上的圖標顯得更加直觀,并且他們的

9、標識設置為相應的菜單命令標識,以共享一樣的命令處理函數(shù)。圖3 工具欄圖標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。實現(xiàn)的功能,定義Caddress構造函數(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: 菜單命令響應函數(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類的實現(xiàn)。1設置瀏覽器啟動時啟動的網(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構造函數(shù)和析構函數(shù)CE06View:CE06ViewCE06View :CE06View(4)設置啟動時的導航站點Void CE06View:OnInitalUpdateChtmlVi

15、ew: OnInitalUpdate;/重新設置導航站點Navigate2_T(“.micosoft./visuac/),NULL,NULL;(5)導航命令響應時間函數(shù)Void CE06View:OnFileNavigate()/TODO:Add your mand handler code here CaddressDlg dlg;If(dlg.DoModle()!=IDOK) reture;Navigate2(dlg.m_address);(6)后退命令響應函數(shù)void CE06View:OnFlieBack()/TODO:Add your mand handler code hereGo

16、Back();(7)前進命令返回函數(shù)void CE06View:OnFlieForward()/TODO:Add your mand handler code hereGoForward();(8)返回主頁命令響應函數(shù)void CE06View:OnFlieHome()/返回主頁Gohome();(9)終止連接命令響應函數(shù) void CE06View:OnFlieStop()/TODO:Add your mand handler code hereStop();(10)刷新命令響應函數(shù)void CE06View:OnFlieRefresh()/TODO:Add your mand handle

17、r code hereRefresh();11設置瀏覽器導航欄默認網(wǎng)頁CAddressDlg:CAddressDlg(CWnd* pParent /*=NULL*/): CDialog(CAddressDlg:IDD, pParent)/AF*_DATA_INIT(CAddressDlg)m_address = _T(".baidu.");/AF*_DATA_INIT四、軟件測試對瀏覽器的測試分為幾個局部,包括功能的實現(xiàn)、和各個按鈕的功能是否正確。1.運行“.dsw文件。得到如圖的畫面。2.運行.baidu.3.然后點擊確定,得到如圖4.然后再測試各個按鈕的功能。5.點擊后

18、退按鈕,得到大學網(wǎng)址,因此后退按鈕功能實現(xiàn)6.查看瀏覽器的版本,如圖7.各個按鈕的功能都能實現(xiàn)經(jīng)過測試,瀏覽器的各個功能都能順利地完成。五、總結課程設計是培養(yǎng)學生綜合運用所學知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學生實際工作能力的具體訓練和考察過程.隨著科學技術開展的日新日異,當今計算機應用在生活中可以說得是無處不在。因此作為二十一世紀的大學生來說掌握計算機開發(fā)技術是十分重要的。經(jīng)過一個多星期的學習,根本了解了VC+的編程方法,對VC+的編寫程序的步驟有了一定的了解。但對于要編寫較為復雜的VC+程序還是有很大的難度,只有在今后的學習中,不斷總結,不斷摸索,努力的掌握

19、VC+的編程技巧,為以后的學習工作打下根底。這次的課程設計的重要目的是鍛煉我們對VC+編程的理解,在對瀏覽器軟件制作的過程中,最重要的是收集資料和對瀏覽器軟件的需求分析,還有就是對編寫的軟件的測試,這需要組員的詳細分工和協(xié)調(diào),才能完成這次課程設計,我只要負責對瀏覽器課程設計的詳細設計局部,在綜合了秀玲的瀏覽器需求分析和海紅的概要分析后,查閱教師給的瀏覽器的設計方案,然后加以修改,根本可以完成對程序的設計。其中可以對一些相關的程序進展修改,比方對瀏覽器的默認的進展修改,具體的修改方案為:void CE06View:OnDraw(CDC* pDC)CE06Doc* pDoc = GetDocume

20、nt();ASSERT_VALID(pDoc);void CE06View:OnInitialUpdate()CHtmlView:OnInitialUpdate();Navigate2(_T("../"),NULL,NULL);還可以對瀏覽器的、瀏覽器按鈕的位置進展調(diào)整等修改,到達自己滿意的效果,順利完成這次課程設計。VC+是面向對象的程序設計的編程方法,他與人的思維習慣相吻合,而面向過程的程序設計和計算機的工作過程是完全吻合的。和面向過程的編程方法相比,利用VC+編程的優(yōu)點是:1數(shù)據(jù)抽象的概念可以在保持外部接口不變的情況下改變部實現(xiàn),從而減少甚至防止對外界的干擾;2通過繼承大幅減少冗余的代碼,并可以方便地擴展現(xiàn)有代碼,提高編碼效率,也減低了出錯概率,降低軟件維護的難度;3結合面向對象分析、面向對象設計,允許將問題域中的對象直接映射到程序中,減少軟件開發(fā)過程中中間環(huán)節(jié)的轉換過程;4通過對對象的區(qū)分、劃分可以將軟件系統(tǒng)分割為假設干相對為獨立的局部,在一定程度上更便于控制軟件復雜度;6以對象為中心的設計可以幫助開發(fā)人員從靜態(tài)屬性和動態(tài)方法兩個方面把握問題,從而更好地實現(xiàn)系統(tǒng);7通過對象的聚合、聯(lián)合可以在保證封裝與抽象的原則下實現(xiàn)對象在在構造以及外在功能上的擴大,從而實現(xiàn)對象由低到高的升級。 對于完成這次課程設計,完

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論