文本編輯器設(shè)計_第1頁
文本編輯器設(shè)計_第2頁
文本編輯器設(shè)計_第3頁
文本編輯器設(shè)計_第4頁
文本編輯器設(shè)計_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、四川師范大學(xué)成都學(xué)院高級語言程序課程設(shè)計文本編輯器設(shè)計學(xué)生姓名xxx學(xué)號x所在學(xué)院x專業(yè)名稱x班級x級x班指導(dǎo)教師x成 績 x學(xué)院二。一四年十二月四川師范大學(xué)成都學(xué)院課程設(shè)計報告課程設(shè)計任務(wù)書學(xué)生姓名x學(xué)生學(xué)號x學(xué)生專業(yè)x學(xué)生班級x指導(dǎo)教師x職 稱x發(fā)題日期2014年10月15日完成日期2014年12月19日設(shè)計題目文本編輯器設(shè)計設(shè)計目的:為了滿足普通用戶對文本文檔進行一般的簡單操作,設(shè)計文本編輯器,用戶可以對文本進行如下的基本操作。通過該課程設(shè)計,鍛煉學(xué)生的基本編程技能,基于c語言基本知識,進一步擴展c+林口 windows界面編程的知識和應(yīng)用;培養(yǎng) 學(xué)生分析問題和解決問題的能力;促進把所學(xué)

2、知識靈活應(yīng)用到具體實踐中。具體任務(wù)及要求:2 .撤銷:撤銷前一步所進行的操作;3 .刪除:刪除當(dāng)前選定字符(申);4 .剪切:復(fù)制并刪除選定字符(申);5 .復(fù)制:復(fù)制選定字符(申);6 .粘貼:對粘貼內(nèi)容進行粘貼。課程設(shè)計進度安排:在耳j 丁 p內(nèi)容安排時間1收集課程設(shè)計相關(guān)資料10.1510.262學(xué)習(xí)mfcffi關(guān)知識10.2710.313需求分析、澄清和軟件概要設(shè)計11.111.34軟件詳細設(shè)計及功能驗證11.412.45提交論文、總結(jié)、答辯12.512.19課程設(shè)計參考文獻:1仇芒仙等編.c/c+程序設(shè)計案例教程.北京:清華大學(xué)出版社,2012.82錢能.c+程序設(shè)計教程.北京:清華

3、大學(xué)出版社,20053嚴蔚敏等編.數(shù)據(jù)結(jié)構(gòu)(c語言版).北京:清華大學(xué)出版社,2008.34任哲.mfc windows應(yīng)用程序設(shè)計(第3版).北京:清華大學(xué)出版社,2013.35 歐陽志宏等編.mfc程序設(shè)計輕松入門.北京:人民郵電出版社.2009.4指導(dǎo)教 師簽字院長審 核簽字文本編輯器設(shè)計內(nèi)容摘要:當(dāng)今,計算機以及網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,社會正快速向信息化社會 前進,我們需要更智能,更專業(yè)的軟件幫助我們完成工作,從而提高了工作效率。目前文本編輯器種類很多,所提供的功能也很多,但是能滿足用戶實現(xiàn)多種 功能和進行c+?序語言的編譯與運行很少,不能更好的適應(yīng)當(dāng)前用戶的要求。 本設(shè)計所完成的文本編輯

4、器功能是針對學(xué)習(xí) c+刑序語言,因此我們利用c+序 設(shè)計虛擬機和軟件用戶以及使用者的應(yīng)用過程形成一整套完整的編寫代碼,編譯,運行。本文本編輯器的開發(fā)主要包括界面窗口的菜單欄和工具欄,還有鏈接c+語言虛擬機實現(xiàn)編譯與運行。操作系統(tǒng)為 windows 7。關(guān)鍵詞:文本編輯器 c+程序語言編譯運行the design of text editorabstract : today, the rapid development of computer and network technology, society is rapidly advancing to the information socie

5、ty, we need a more intelligent, more professional software to help us to finish the work, so as to improve work efficiency.at present, manytext editors species, to provide the function of many, but can satisfy the compiling and running the user to achieve a variety of functions and the c+programming

6、 language is very few, can better adapt to the requirements of the current user. the completion of the design of the text editor function is for learning c+ programming language, so we use the c+program design of virtual machines and software users and users of the application process of form a comp

7、lete set of code, compile, run.the development of the text editor includes interface window menus and toolbars, and link the c + + programming language virtual machine implementation compile and run.the development of the text editor use vc+6.0 as the development tool, and the operating system is wi

8、ndow 7.ii四川師范大學(xué)成都學(xué)院課程設(shè)計報告compilekeywords: the text editor c + + programming language functioniii四川師范大學(xué)成都學(xué)院課程設(shè)計報告刖h 11課程設(shè)計的意義及目的 12文本編輯器總體結(jié)構(gòu)設(shè)計 22.1文本編輯器功能 22. 1. 1文本編輯器的基本功能 22. 2總體結(jié)構(gòu) 23文本編輯器各功能模塊 42.1 需求分析 43. 2功能模塊 44軟件結(jié)構(gòu)設(shè)計 54. 1撤銷 55. 2刪除 64.3剪切 74.4復(fù)制 94. 5粘貼 105操作步驟 124.1 打開文本編輯窗口 124.2 輸入文本 124

9、.3 刪除文本內(nèi)容 124.4 在編輯里選擇撤銷 134.5 選中文本,編輯里選復(fù)制 134.6 在編輯里選擇粘貼 144.7 再次選中文本內(nèi)容,剪切 144.8 再粘貼 15結(jié)束語 16附錄 17iv四川師范大學(xué)成都學(xué)院課程設(shè)計報告文本編輯器刖百在文本編輯器出現(xiàn)前,人們用打孔機把計算機文字打到穿孔卡片上。文字存 放于一個裝著這樣的薄卡片的盒子里,可以用讀卡器來閱讀它。第一個文本編輯 器是一種行編輯器,它運行在打字機型的終端上,這種編輯器并不具備在窗口和 屏幕中顯示的功能。它包含了一些非常短的命令(為了減少打字量)。其中一個 命令能夠把文件的指定部分通過打字機打印出來。編輯光標(biāo)是想象中的一個插

10、入 點,通過特殊命令,可以把它移動到特定內(nèi)容字符串所在的行。隨后,內(nèi)容字符 用又被擴展成正則表達式。如果想看到文件的變化,你需要把它打印出來。相對 于穿孔機來說,人們認為這種基于行的文本編輯器具有革命性的進步。如果沒有 它,用戶就需要把那些處理文本的命令打成專用的卡片,并在編輯文件時使用這 些卡片。當(dāng)帶有顯示屏的計算機終端出現(xiàn)后,基于顯示屏的文本編輯器開始流行起來。 最早的全屏編輯器中,有一種叫做 o26它是于1967年為cdc 6000系列機器的 操作控制臺而作的。另外一個早期的全屏編輯器是 vi ovi誕生于20世紀(jì)70年代, 至今,它仍是unix和linux的標(biāo)準(zhǔn)編輯器。全屏編輯器對視頻

11、終端的銷售起到了 促進的作用。文本編輯器在 windows的應(yīng)用中是一個非常重要的項目,在過去十 數(shù)年中,微軟對windows文本編輯器有多個版本的升級改進,而基于其他的編程 環(huán)境的文本編輯器也是多如牛毛,今天我們用 mfct視化編譯環(huán)境做一個簡易的 文本編輯器。1課程設(shè)計的意義及目的為了滿足普通用戶對文本文檔進行一般的簡單操作,設(shè)計文本編輯器,用戶 可以對文本進行如下的基本操作。通過該課程設(shè)計,鍛煉學(xué)生的基本編程技能, 基于c語言基本知識,進一步擴展 c+林口 windows界面編程的知識和應(yīng)用;培養(yǎng) 學(xué)生分析問題和解決問題的能力;促進把所學(xué)知識靈活應(yīng)用到具體實踐中。該課 程設(shè)計要求學(xué)生綜合

12、運用在課程中學(xué)到的技術(shù)與實際編程相結(jié)合,獨立完成一項 較為完整、并具有一定實際功能的課程設(shè)計任務(wù),同時加深學(xué)生對面向?qū)ο蠛蚦+ 編程技術(shù)的理解和掌握,培養(yǎng)實際的應(yīng)用程序開發(fā)能力。在課程設(shè)計過程中,使 學(xué)生養(yǎng)成良好的程序設(shè)計風(fēng)格,并掌握c+g用程序的設(shè)計開發(fā)過程和編程方法、 測試方法。2文本編輯器總體結(jié)構(gòu)設(shè)計2. 1文本編輯器功能2. 1. 1文本編輯器的基本功能該文本編輯器是用windows編寫的一個程序,運行后彈出文本編輯器 的主界 面,由鍵盤輸入或以打開的方式輸入或顯示文本文件內(nèi)容。其中程序的編輯項可 對當(dāng)前的文本進行撤銷、刪除、剪切、復(fù)制、粘貼、在文本里顯示當(dāng)前時間、全 選、清除、查找、

13、替換、統(tǒng)計等功能。程序的文件項可以對電腦上txt,c+等可以發(fā)出不同的報警聲。格式文件的打開、對當(dāng)前文本的保存和另存、對當(dāng)前文本的的新建以及退出文本編輯系統(tǒng)。輸入形式:直接在文本編輯框中輸入文本內(nèi)容以打開的方式打開并在文本框中顯示電腦的上文本 輸出形式:對編輯框中尚無文本內(nèi)容時進行查找、替換、統(tǒng)計等,程序會彈出一個提示 尚無文本信息的小對話框,需輸入文本后再進行以上操作對編輯框中已有文本內(nèi)容后進行查找、替換、統(tǒng)計操作,程序?qū)棾?3與之 對應(yīng)的對話框,根據(jù)所彈出的對話框的按鍵要求進行之后的操作就可以。保 存文件,另存為等功能都異曲同工,撤銷、刪除、剪切、復(fù)制、粘貼、等就 直接在主文本編輯框中操

14、作,直接在其顯示操作后的文本信息。2. 2總體結(jié)構(gòu)該程序是用c+郵言編譯成的,編輯中主要能夠?qū)崿F(xiàn)撤銷功能、復(fù)制功能、 粘貼功能、刪除功能和剪切功能。15保存打開文本編輯器查找替換字體圖2-1系統(tǒng)功能圖圖2-2系統(tǒng)流程圖3文本編輯器各功能模塊文本編輯器主要由五大功能構(gòu)成,他們分別是文件操作模塊,文本編輯模塊, 剪切操作模塊,菜單控制模塊和幫助及其他模塊。在文本編輯模塊中,主要完成 文件的撤銷、刪除操作。剪切操作模塊主要完成剪切、復(fù)制、粘貼操作。2.1 需求分析文本編輯器的設(shè)計是基于microsoft visual studio 2008開發(fā)的一款小型的 軟件,主要的設(shè)計是為了滿足普通用戶對文本文

15、檔進行一般的簡單操作,通過mfc 可視化編程環(huán)境,直接生成一個友好的用戶操作界面,通過這個窗口,用戶可以 對文本進行如下的基本操作。文本編輯器主要由五大功能構(gòu)成,他們分別是文件操作模塊,文本編輯模塊, 剪切操作模塊,菜單控制模塊和幫助及其他模塊。在文件操作模塊中,主要完成 文件的創(chuàng)建,打開,保存和另存操作。用戶可以選擇文件菜單上的新建子菜單來 完成新建文本文件操作;選擇文件菜單上的保存子菜單來完成保存文件操作選擇 文件菜單上的打開子菜單來完成打開文件操作。在文件的打開,保存和另存為操 作中,系統(tǒng)會提示用戶輸入文件路徑及文件名。值得一提的是,當(dāng)用戶打開一個 文件時,指定的文件必須存在,否則系統(tǒng)會

16、報錯。3. 2功能模塊在文本編輯器模塊中,主要完成在編輯窗口中以添加或插入的方式輸入字符, 刪除光標(biāo)所在當(dāng)前位置的單個字符或前一個位置的單個字符,朝上下左右4個方向的光標(biāo)移動操作。當(dāng)光標(biāo)所在位置及后面的位置沒有字符時,系統(tǒng)會以添加的 方式輸入字符;當(dāng)光標(biāo)所在位置及后面的位置有字符時,系統(tǒng)會已插入的方式輸 入字符。用戶可以使用backspace鍵刪除光標(biāo)前一個字符,也可以使用 del鍵刪 除當(dāng)前位置的字符。撤銷:撤銷前一步所進行的操作,從“編輯下拉菜單”或“右鍵菜單撤銷刪除:刪除當(dāng)前選定字符(用),從“編輯下拉菜單”或“右鍵菜單” 中刪除全選:對文本編輯框中文本全部選定,從“編輯下拉菜單”或“右

17、鍵菜單”中全簡易文本編輯器主要完成對已選定文本的剪切,復(fù)制,粘貼工作。如果用戶要剪切文本以便 可以將它移動到其他位置,可通過先選定文本,然后選擇edit菜單上的cut子菜 單完成剪切任務(wù)。如果用戶要復(fù)制文本以便可以將它黏貼到其他位置,必須先選 定文本,然后選擇edit菜單上的copy子菜單來完成復(fù)制任務(wù)。如果用戶要粘貼 剪切或復(fù)制的文本,必須將光標(biāo)置于要粘貼文本的位置, 然后選擇edit菜單上的 paste子菜單來完成粘貼任務(wù)。剪切:復(fù)制并刪除選定字符(用),從“編輯下拉菜單”或“右鍵菜單” 中剪切復(fù)制:復(fù)制選定字符(用),“編輯下拉菜單”或“右鍵菜單”中復(fù)制 粘貼:對粘貼內(nèi)容進行粘貼,從“編

18、輯下拉菜單”或“右鍵菜單”中粘 貝占4軟件結(jié)構(gòu)設(shè)計4. 1撤銷txteditmm如精幫助一 戚肖復(fù)制雪切查狡瞥操祜貼鈿撤銷命令是系統(tǒng)自帶的函數(shù),使用是調(diào)用 onmenuundo數(shù)命令,詳細代碼如 下所示:void ctxteditdlg二oneditundo()/ todo: add your command handler code here/直接調(diào)用類cedit的成員函數(shù)undocedit*pedit=(cedit*)getdlgitem(idc_edit1);pedit-undo();選中撤銷的存放在緩存中圖4-1撤銷流程圖4. 2刪除刪除命令調(diào)用的是系統(tǒng)自帶函數(shù),使用的是onmenud

19、elet函數(shù)命令,詳細代碼如下所示:void ctxteditdlg二oneditdelete()cedit*pedit=(cedit*)getdlgitem(idc_edit1);pedit-delete();圖4-2刪除流程圖4. 3剪切剪切命令調(diào)用的是系統(tǒng)自帶函數(shù),使用的是onmenuec由數(shù)命令,詳細代碼如下所示:void ctxteditdlg:onmenucut() / todo: add your command handler code herecedit *pedit=(cedit*)getdlgitem(idc_edit1);并將刪除的文本拷貝到剪pedit-cut();刪

20、除編輯控件中當(dāng)前選中的文本,貼板中圖4-3剪切流程圖4. 4復(fù)制復(fù)制命令調(diào)用的是系統(tǒng)自帶函數(shù),使用的是onmenucom數(shù)命令,詳細代碼如下所示:void ctxteditdlg二onmenucopy()/ todo: add your command handler code herecedit *pedit=(cedit*)getdlgitem(idc_edit1);pedit-copy();/ 刪除編輯控件中當(dāng)前選中的文本,并將刪除的文本拷貝到 剪貼板中 圖4-4復(fù)制流程圖4. 5粘貼粘貼命令調(diào)用的是系統(tǒng)自帶函數(shù),使用的是onmenupast函數(shù)命令,詳細代碼如下所示:void ctxt

21、editdlg:onmenupast()/ todo: add your command handler code herecedit *pedit=(cedit*)getdlgitem(idc_edit1);并將刪除的文本拷貝到pedit-paste();/刪除編輯控件中當(dāng)前選中的文本,剪貼板中圖4-4粘貼流程圖5操作步驟5.1 打開文本編輯窗口txtedit文件鼎輯替助5.2 輸入文本txtedit|文件鼎塌那助一人文本5.3 刪除文本內(nèi)容txtedit文件編輯行助5.4 在編輯里選擇撤銷5.5 選中文本,編輯里選復(fù)制5.6 在編輯里選擇粘貼txtedit輸入文本輸入文本5.7 再次選中文

22、本內(nèi)容,剪切四川師范大學(xué)成都學(xué)院課程設(shè)計報告txtedit織!16文件集輯音助5.8再粘貼txtedit輸入文本輸入文本四川師范大學(xué)成都學(xué)院課程設(shè)計報告結(jié)束語步入大學(xué),我們接觸到了更多的計算機專業(yè)知識。在大一第二學(xué)期,學(xué)習(xí)了 c+附序設(shè)計,大二的時候又學(xué)習(xí)了數(shù)據(jù)結(jié)構(gòu)課程。 而這學(xué)期的課程設(shè)計,對我來 說是一個新的挑戰(zhàn)。從開始到現(xiàn)在,課程設(shè)計的每一個環(huán)節(jié),我自己都精心準(zhǔn)備, 讓我對編程有了更深刻的認識,也是我知道了自己的不足之處。在老師剛布置下來任務(wù)之后,我便開始在網(wǎng)上和圖書管理搜集資料,雖然關(guān) 于這方面的資料很多,但是好多都和我的不相匹配。于是我每一本書都仔細閱讀, 篩選出了對我的程序設(shè)計有用

23、的信息。然后,看懂了是一方面,自己動手做,又 是另一個挑戰(zhàn)。我發(fā)現(xiàn)如果不是透徹的弄懂了,在實際操作的時候,根本實現(xiàn)不 了結(jié)果。于是,我又把資料仔細的閱讀,并詢問老師和同學(xué)們,再加上自己的摸 索,最終提早完成了任務(wù)。我設(shè)計的是簡易文本編輯器,要求有查找,插入,替 換,塊移動,刪除功能,在這次課程設(shè)計作業(yè)的過程中,雖然課程設(shè)計有明確的 目的及要求,但由于在設(shè)計方面我們沒有經(jīng)驗,理論基礎(chǔ)知識掌握得不牢固,在 設(shè)計中難免會出現(xiàn)這樣那樣的問題。在編寫過程中也有許多小問題,比如沒有定 義,缺少符號等等,但經(jīng)過仔細的修改以及尋求別人的幫助把問題也改正了,大 多數(shù)是因為自己的粗心而引起的。在設(shè)計過程中,要獨立

24、的完成自己的設(shè)計思路。在學(xué)習(xí)理論知識的同時也要 參加實踐活動,把課本上的知識運動到實踐當(dāng)中去,也是我們學(xué)習(xí)專業(yè)理論知識 的最終目的。本次的課程設(shè)計,培養(yǎng)了我c+郵言,c語言及其他課程的理論知識 和理論聯(lián)系實際,應(yīng)用生產(chǎn)實際知識解決實際問題的能力;在設(shè)計的過程中還培 養(yǎng)獨立自主的能力。在今后的學(xué)習(xí)過程中我們會更加努力。經(jīng)過了連續(xù)兩周的不懈努力,我終于完整的完成了文本編輯器的課程設(shè)計。 在做此實驗中雖然碰到了很多困難,但是在克服困難的同時我們獲益良多。鞏固 書本上的知識,對書上的知識能更透徹地了解。通過自己設(shè)計程序積累調(diào)試數(shù)據(jù) 結(jié)構(gòu)經(jīng)驗,培養(yǎng)了我的編程能力。鞏固我們所學(xué)的c+s程知識,消化課堂所講

25、解的內(nèi)容。對所學(xué)課程及其知識的一種整理,將原本在我們腦中比較混亂的課程 設(shè)計重新梳理。1)通過課程設(shè)計我更好的掌握編程的基本設(shè)計思路, 為以后靈活運用奠定了基礎(chǔ)。2)相對于以前,我能夠獨立的完成簡單的程序設(shè)計以及完成一份較為滿意的 程序設(shè)計報告。3)通過這次課程設(shè)計,達到了我增強鞏固 c+魏程知識的目的,使知識全面 化,系統(tǒng)化。4) c+程序設(shè)計在計算機學(xué)科的學(xué)習(xí)中,是一門比較重要的環(huán)節(jié),這次的鞏 固與加深提高了我的實際工作能力,培養(yǎng)科學(xué)作風(fēng),為學(xué)習(xí)后續(xù)課程和今后系統(tǒng) 開發(fā)奠定基礎(chǔ)。5)課程設(shè)計更注重的是綜合訓(xùn)練,做到學(xué)以致用。6)培養(yǎng)了分析問題與解決問題的能力。附錄 txtedit.cpp

26、: defines the class behaviors for the application./#include stdafx.h#include txtedit.h#include txteditdlg.h#ifdef _debug#define new debug_new#undef this_filestatic char this_file口 = _file_;#endif/ ctxteditappbegin_message_map(ctxteditapp, cwinapp)afx_msg_map(ctxteditapp)/ note- the classwizard will

27、add and remove mapping macros here./ do not edit what you see in these blocks of generated code!/afx_msgon_command(id_help, cwinapp:onhelp)end_message_map()/ ctxteditapp constructionctxteditapp二ctxteditapp()/ todo: add construction code here,/ place all significant initialization in initinstance/ the one and only ctxteditapp objectctxteditapp theapp;/ ctxteditapp initializationbool ctxteditapp:initinstance()afxenablecontrolcontainer();/ standard initialization/ if you are not using these features and wish to reduce the size/ of your final executable, you should remove from the foll

溫馨提示

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

評論

0/150

提交評論