




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、實訓(xùn)報告 題 目: 文本編輯器 專 業(yè): 電子信息工程 姓 名: 學(xué) 號: 指導(dǎo)教師:李登輝、趙志鵬、韓桂明、張錕 日 期: 2015年1月16日 桂林電子科技大學(xué)信息科技學(xué)院目 錄1 任務(wù)32 方案設(shè)計33 軟件設(shè)計34 制作與調(diào)試過程85 心得體會116 參考文獻(xiàn)12文本編輯器1. 任務(wù)1.1基本任務(wù)設(shè)計一個基于對話框的文本編輯器,實現(xiàn)文本的創(chuàng)建、編輯、顯示及保存功能。1.2基本要求 (1) 按照題目要求獨立設(shè)計文本編輯器所需的所有按鈕,并完成程序源碼編寫、調(diào)試及關(guān)鍵代碼注釋。 (2)能夠?qū)崿F(xiàn)文本文檔的創(chuàng)建與保存。 (3)能夠?qū)崿F(xiàn)文本信息的編輯。2. 方案設(shè)計 1.1總體設(shè)計框圖采用模塊化
2、的程序設(shè)計方法,即將較大的任務(wù)按照一定的原則分為一個個較小的任務(wù),然后分別設(shè)計各個小任務(wù)。需要注意的是劃分出來的模塊應(yīng)該相對獨立但又相關(guān),且容易理解??梢杂媚K化層次結(jié)構(gòu)圖(即模塊圖)來分析其任務(wù)的劃分,一般從上到下進(jìn)行,最上面一層是主模塊,下面各層是其上一層模塊的逐步細(xì)化描述。文本編輯器CMy1152100216Dlg打開模塊OnButtonOpen保存模塊OnButtonSave清除模塊:OnButtonClear 首先建立一個基于對話框的應(yīng)用程序,然后添加文本編輯框和三個按鈕:打開、保存、清除按鈕。雙擊該按鈕系統(tǒng)自動生成該類的函數(shù)。 1.2各個模塊函數(shù)說明第一,打開函數(shù)。實現(xiàn)文件夾的打開
3、,選擇打開路徑打開相應(yīng)的的txt文件。第二,保存函數(shù)。實現(xiàn)文件的保存,選擇保存的路徑和保存的文件名。第三,清除函數(shù)。實現(xiàn)文檔的清除功能。3. 軟件設(shè)計詳細(xì)設(shè)計過程如下,先創(chuàng)建一個基于對話框的應(yīng)用程序,取工程文件名為:1152100216繆宇。即在新建文件的New對話框中,選中Project,然后選擇MFC AppWizard(exe)選項,在Project name框中輸入:1152100216繆宇。在生成的對話框中刪除TODO:在這里設(shè)置對話控制。靜態(tài)框和取消、確定按鈕。如圖所示。 3.1對話框界面設(shè)計 1添加文本編輯框 文
4、本編輯框操作步驟如下: (1)添加文本編輯框,用于輸入文件名。選定控件工具欄中文本編輯按鈕(Edit Box),本編輯框,并調(diào)整至合適的大?。粴v史老照片不能說的秘密慈禧軍閥明末清初文革晚清 (2)設(shè)置文本編輯框?qū)傩?。用鼠?biāo)右擊該文本編輯 框,在出現(xiàn)的菜單中選擇屬性(Properyies)菜單項,彈出屬性對話框; (3)選擇控件的標(biāo)識符。在屬性對話框中選擇General頁,并確認(rèn)ID 框中的標(biāo)識符為:IDC_EDIT,其余屬性均維持默認(rèn)狀態(tài); (4)單擊屬性對話框右上角的關(guān)閉按鈕,關(guān)閉屬性對話框;
5、2添加按鈕和靜態(tài)框 給對話框添加打開、保存、清除3個按鈕,它們的標(biāo)識符分別為:IDC_BUTTON_open、IDC_BUTTON_save、IDC_BUTTON_clear、。通過類向?qū)Щ螂p擊3個按鈕的圖標(biāo),為CShixunDlg類加載OnButtonsave( )、OnButtonopen( )、OnButtonclear( )3個函數(shù),分別完成打開文件、保存文件和查找字符串、清除文檔的字和字體設(shè)置功能。最后,添加兩個位圖裝飾窗口。適當(dāng)調(diào)整各控件位置,使整個界面外觀協(xié)調(diào)一致。如圖所示。 3.2 代碼設(shè)計1.添加成員變量。通過類向?qū)?,為CS
6、hixunDlg添加一個成員變量m_edit。查找框添加一個成員變量m_FindText。2.添加程序代碼 (1)在項目管理工作區(qū)中展開CCShixunApp類,雙擊該類OnButtonOpen( )函數(shù),將代碼區(qū)光標(biāo)移至OnButtonOpen( )函數(shù),并加入如下代碼:void CShixunDlg:OnButtonOpen() /在類外定義函數(shù)/ TODO: Add your control notification handler code herechar temp;CFile cfi;int len;CFileDialog opendlg (TRUE,"
7、;txt",NULL,OFN_HIDEREADONLY, "純文本 (*.txt)|*.txt|Chart Files (*.xlc)|*.xlc| Worksheet Files (*.xls)|*.xls|"); /(true就打開,文件擴展名,指定默認(rèn)文件名,特定風(fēng)格,可供選擇文件類型和相應(yīng)擴展名以/結(jié)尾)彈出路徑選擇對話框,默認(rèn)純文本格式,對話框為TRUE則顯示打開對話框,if(opendlg.DoModal() =IDOK) /根據(jù)對話框返回值,判斷用戶是否按下OK鍵path=opendlg.GetPathName();/獲得用戶選擇的路徑cfi.Ope
8、n(path,CFile:modeRead);/用讀方式打開指定的文件(文件流對象.open(磁盤文件名,輸入輸出流方式))len=cfi.GetLength();/獲得文件字節(jié)數(shù)并保存cfi.Close();/關(guān)閉文件ifstream in(path,ios:in); /再以流輸入方式打開剛才的文件(文件流對象(磁盤文件名,輸入輸出方式)if(in) /如果返回值非零說明打開成功m_edit="" /清空現(xiàn)有緩存中的內(nèi)容for(int i=0;i<len;i+) /一個字接一個字節(jié)的讀取到緩存,并在到達(dá)文件末尾時停止in.get(temp);m_edit+=temp
9、; UpdateData(FALSE);/更新文本框內(nèi)容in.close();/關(guān)閉文件AfxMessageBox("文件打開OK ",MB_ICONASTERISK,0);/提示消息給用戶else AfxMessageBox("文件打開失敗 ",MB_ICONSTOP,0);/文件打開失敗,提示用戶錯誤 (2)在項目管理工作區(qū)中展開CCShixunApp類,雙擊該類OnButtonSave( )函數(shù),將代碼區(qū)光標(biāo)移至OnButtonSave( )函數(shù),并加入如下代碼:void CShixunDlg:OnButtonSave() if
10、(path="") /判斷path是否為空CFileDialog savedlg (FALSE,"txt",NULL,OFN_HIDEREADONLY, "純文本 (*.txt)|*.txt|"); /如果是,彈出路徑選擇為FALSE則顯示保存對話文件對話框。if(savedlg.DoModal() =IDOK)/用戶是否按下OKpath=savedlg.GetPathName(); /獲得路徑并保存至pathofstream out(path); /打開文件UpdateData(TRUE); /將文本框中的內(nèi)容更新到m_edit變量
11、out.write(m_edit,strlen(m_edit); /將m_edit中內(nèi)容保存到文件中out.close(); /關(guān)閉文件AfxMessageBox("文件保存OK ",MB_ICONASTERISK,0); /提示用戶保存完畢else /若path不為空,則直接保存文件到path中指定位置ofstream out(path);UpdateData(TRUE);out.write(m_edit,strlen(m_edit);out.close();AfxMessageBox("文件保存OK ",MB_ICONASTERISK,0); (3)
12、在項目管理工作區(qū)中展開CCShixunApp類,雙擊該類OnButtonClear( )函數(shù),將代碼區(qū)光標(biāo)移至OnButtonClear( )函數(shù),并加入如下代碼:void CShixunDlg:OnButtonClear() m_edit="" /將緩存內(nèi)容清空UpdateData(FALSE); /將緩存內(nèi)容更新到文本框/AfxMessageBox("成功清空文檔內(nèi)容 ",MB_ICONASTERISK,0);/提示消息給用戶 將其編譯鏈接后運行結(jié)果如下:4.制作與調(diào)試過程4.1 打開模塊 編譯運行后點擊打開按鈕,效果圖分別如下所示。4.2 保存模塊點擊保存按鈕,各步驟效果圖分別如下所示。4.3 清除模塊在編輯窗口輸入任意字符,點擊清除按鈕,各步驟效果圖分別如下所示。4. 心得體會 每一次實訓(xùn)都會有新的收獲,這次實訓(xùn)也不例外。我想從兩方面總結(jié)下這次實訓(xùn)。一是自己,盡管實訓(xùn)的過程也收獲一個新的東西,但是模仿的多,創(chuàng)新的少,不如其他實訓(xùn)做的認(rèn)真。實訓(xùn)時間從1.1到1.14,15、16號驗收,可以說的是給的時間充裕,但是我還是老樣子,前期不慌不忙,不抓緊,拖到后期,覺得時間不
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年社會心理學(xué)研究及實踐模擬試卷及答案
- 2025年網(wǎng)絡(luò)營銷與品牌推廣考試試題及答案
- 2025年社交媒體管理能力考試試卷及答案
- 2025年無線通信網(wǎng)絡(luò)相關(guān)考試試卷及答案
- 2025年國際貿(mào)易與投資實務(wù)考試試題及答案
- 2025年高爾夫教練職業(yè)資格考試試卷及答案
- 2025年經(jīng)濟(jì)法專業(yè)的國考真題及答案
- 2025年會計電算化考試試題及答案
- 2025年教育心理學(xué)考試題及答案
- 放射診療工作場所輻射防護(hù)安全管理制度文檔
- 人教版八年級下英語單詞默寫表格(整理打印)
- FMEA第五版(實例2)
- 量表開發(fā)與檢驗(課堂PPT)
- 艾默生PEX系列精密空調(diào)技術(shù)手冊
- 煉鐵廠魚雷罐、鐵水罐穿包緊急預(yù)案
- 10kV備自投調(diào)試報告
- 《電路分析基礎(chǔ)》試題及答案
- 電氣設(shè)備調(diào)試定額
- 儲能技術(shù)-儲能材料-新能源材料-鋰電池儲能(PPT100頁)
- 商品銷售明細(xì)單(樣本)
- 食堂管理處罰通知單
評論
0/150
提交評論