ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:187.05KB ,
资源ID:5040437      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-5040437.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(面向对象程序设计文本编辑器.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

面向对象程序设计文本编辑器.docx

1、面向对象程序设计文本编辑器实训报告 面向对象程序设计题 目: 文本编辑器 专 业: 电子信息工程 姓 名: 学 号: 指导教师:李登辉、赵志鹏、韩桂明、张锟 日 期: 2015年1月16日 桂林电子科技大学信息科技学院1 任务32 方案设计33 软件设计34 制作与调试过程85 心得体会116 参考文献12文本编辑器1.任务1.1基本任务设计一个基于对话框的文本编辑器,实现文本的创建、编辑、显示及保存功能。1.2基本要求 (1) 按照题目要求独立设计文本编辑器所需的所有按钮,并完成程序源码编写、调试及关键代码注释。 (2)能够实现文本文档的创建与保存。 (3)能够实现文本信息的编辑。2.方案设

2、计 1.1总体设计框图采用模块化的程序设计方法,即将较大的任务按照一定的原则分为一个个较小的任务,然后分别设计各个小任务。需要注意的是划分出来的模块应该相对独立但又相关,且容易理解。可以用模块化层次结构图(即模块图)来分析其任务的划分,一般从上到下进行,最上面一层是主模块,下面各层是其上一层模块的逐步细化描述。 首先建立一个基于对话框的应用程序,然后添加文本编辑框和三个按钮:打开、保存、清除按钮。双击该按钮系统自动生成该类的函数。 1.2各个模块函数说明第一,打开函数。实现文件夹的打开,选择打开路径打开相应的的txt文件。第二,保存函数。实现文件的保存,选择保存的路径和保存的文件名。第三,清除

3、函数。实现文档的清除功能。3.软件设计详细设计过程如下,先创建一个基于对话框的应用程序,取工程文件名为:1152100216缪宇。即在新建文件的New对话框中,选中Project,然后选择MFCAppWizard(exe)选项,在Projectname框中输入:1152100216缪宇。在生成的对话框中删除TODO:在这里设置对话控制。静态框和取消、确定按钮。如图所示。 3.1对话框界面设计 1添加文本编辑框 文本编辑框操作步骤如下:(1)添加文本编辑框,用于输入文件名。选定控件工具栏中文本编辑按钮(EditBox),本编辑框,并调整至合适的大小;历史老照片不能说的秘密慈禧军阀明末清初文革晚清

4、 (2)设置文本编辑框属性。用鼠标右击该文本编辑框,在出现的菜单中选择属性(Properyies)菜单项,弹出属性对话框; (3)选择控件的标识符。在属性对话框中选择General页,并确认ID框中的标识符为:IDC_EDIT,其余属性均维持默认状态; (4)单击属性对话框右上角的关闭按钮,关闭属性对话框;2添加按钮和静态框给对话框添加打开、保存、清除3个按钮,它们的标识符分别为:IDC_BUTTON_open、IDC_BUTTON_save、IDC_BUTTON_clear、。通过类向导或双击3个按钮的图标,为CShixunDlg类加载OnButtonsave()、OnButtonopen(

5、)、OnButtonclear()3个函数,分别完成打开文件、保存文件和查找字符串、清除文档的字和字体设置功能。最后,添加两个位图装饰窗口。适当调整各控件位置,使整个界面外观协调一致。如图所示。 3.2 代码设计1.添加成员变量。通过类向导,为CShixunDlg添加一个成员变量m_edit。查找框添加一个成员变量m_FindText。2.添加程序代码 (1)在项目管理工作区中展开CCShixunApp类,双击该类OnButtonOpen()函数,将代码区光标移至OnButtonOpen()函数,并加入如下代码:void CShixunDlg:OnButtonOpen() /在类外定义函数 /

6、 TODO: Add your control notification handler code here char temp; C; int len; C opendlg (TRUE,txt,NULL,OFN_HIDEREADONLY, 纯文本 (*.txt)|*.txt|Chart Files (*.xlc)|*.xlc| Worksheet Files (*.xls)|*.xls|); /(true就打开,文件扩展名,指定默认文件名,特定风格,可供选择文件类型和相应扩展名以/结尾)弹出路径选择对话框,默认纯文本格式,对话框为TRUE则显示打开对话框, if(opendlg.DoModa

7、l() =IDOK) /根据对话框返回值,判断用户是否按下OK键 path=opendlg.GetPathName();/获得用户选择的路径 cfi.Open(path,C);/用读方式打开指定的文件(文件流对象.open(磁盘文件名,输入输出流方式)) len=cfi.GetLength();/获得文件字节数并保存 cfi.Close();/关闭文件 ifstream in(path,ios:in); /再以流输入方式打开刚才的文件(文件流对象(磁盘文件名,输入输出方式) if(in) /如果返回值非零说明打开成功 m_edit=; /清空现有缓存中的内容 for(int i=0;ilen;

8、i+) /一个字接一个字节的读取到缓存,并在到达文件末尾时停止 in.get(temp); m_edit+=temp; UpdateData(FALSE);/更新文本框内容 in.close();/关闭文件 AfxMessageBox(文件打开OK ,MB_ICONASTERISK,0);/提示消息给用户 else AfxMessageBox(文件打开失败 ,MB_ICONSTOP,0);/文件打开失败,提示用户错误 (2)在项目管理工作区中展开CCShixunApp类,双击该类OnButtonSave()函数,将代码区光标移至OnButtonSave()函数,并加入如下代码:void CSh

9、ixunDlg:OnButtonSave() if(path=) /判断path是否为空C savedlg (FALSE,txt,NULL,OFN_HIDEREADONLY, 纯文本 (*.txt)|*.txt|); /如果是,弹出路径选择为FALSE则显示保存对话文件对话框。 if(savedlg.DoModal() =IDOK) /用户是否按下OK path=savedlg.GetPathName(); /获得路径并保存至path ofstream out(path); /打开文件 UpdateData(TRUE); /将文本框中的内容更新到m_edit变量 out.write(m_edi

10、t,strlen(m_edit); /将m_edit中内容保存到文件中 out.close(); /关闭文件 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)在项目管理工作区中展开CCShixunApp类,双击该类OnB

11、uttonClear()函数,将代码区光标移至OnButtonClear()函数,并加入如下代码:void CShixunDlg:OnButtonClear() m_edit=; /将缓存内容清空 UpdateData(FALSE); /将缓存内容更新到文本框 /AfxMessageBox(成功清空文档内容 ,MB_ICONASTERISK,0);/提示消息给用户 将其编译链接后运行结果如下:4.制作与调试过程4.1 打开模块 编译运行后点击打开按钮,效果图分别如下所示。4.2 保存模块点击保存按钮,各步骤效果图分别如下所示。4.3 清除模块 在编辑窗口输入任意字符,点击清除按钮,各步骤效果图

12、分别如下所示。4.心得体会 每一次实训都会有新的收获,这次实训也不例外。我想从两方面总结下这次实训。一是自己,尽管实训的过程也收获一个新的东西,但是模仿的多,创新的少,不如其他实训做的认真。实训时间从1.1到1.14,15、16号验收,可以说的是给的时间充裕,但是我还是老样子,前期不慌不忙,不抓紧,拖到后期,觉得时间不够了,做的简单,浅尝辄止。这样的坏毛病,我真得好好改改了。自制力,计划执行力,都远远不够。二是别人,在查找资料期间,看到了一位朋友的实训作品,他的实训作品既高大上又十分完美。突然领悟到人与人之间的差距就是在这样不经意的差别积累中产生的。如此认真、扎实的学习态度,令我震撼,更令我钦佩。惊叹之余,唯有尽力完善自己,见贤思齐。5、参考文献1.谭浩强编著,C+程序设计第二版M,北京:清华大学出版社,2011

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2