下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、四川师范大学成都学院高级语言程序课程设计文本编辑器设计学生姓名XXX学号X所在学院X专业名称X班级X级X班指导教师X成 绩 X学院二。一四年十二月课程设计任务书学生姓名x学生学号x学生专业x学生班级x指导教师x职 称x发题日期2014年10月15日完成日期2014年12月19日设计题目文本编辑器设计设计目的:为了满足普通用户对文本文档进行一般的简单操作,设计文本编辑器,用户可以对文本进行如下的基本操作。通过该课程设计,锻炼学生的基本编程技能,基于C语言基本知识,进一步扩展C+林口 windows界面编程的知识和应用;培养 学生分析问题和解决问题的能力;促进把所学知识灵活应用到具体实践中。具体任
2、务及要求:2 .撤销:撤销前一步所进行的操作;3 .删除:删除当前选定字符(申);4 .剪切:复制并删除选定字符(申);5 .复制:复制选定字符(申);6 .粘贴:对粘贴内容进行粘贴。课程设计进度安排:1 丁 P内容安排时间1收集课程设计相关资料10.1510.262学习MFCffi关知识10.2710.313需求分析、澄清和软件概要设计11.111.34软件详细设计及功能验证11.412.45提交论文、总结、答辩12.512.19课程设计参考文献:1仇芒仙等编.C/C+程序设计案例教程.北京:清华大学出版社,2012.82钱能.C+程序设计教程.北京:清华大学出版社,20053严蔚敏等编.数
3、据结构(C语言版).北京:清华大学出版社,2008.34任哲.MFC Windows应用程序设计(第3版).北京:清华大学出版社,2013.35 欧阳志宏等编.MFC程序设计轻松入门.北京:人民邮电出版社.2009.4指导教 师签字院长审 核签字文本编辑器设计内容摘要:当今,计算机以及网络技术的飞速发展,社会正快速向信息化社会 前进,我们需要更智能,更专业的软件帮助我们完成工作,从而提高了工作效率。目前文本编辑器种类很多,所提供的功能也很多,但是能满足用户实现多种 功能和进行C+?序语言的编译与运行很少,不能更好的适应当前用户的要求。 本设计所完成的文本编辑器功能是针对学习 C+刑序语言,因此
4、我们利用C+®序 设计虚拟机和软件用户以及使用者的应用过程形成一整套完整的编写代码,编译,运行。本文本编辑器的开发主要包括界面窗口的菜单栏和工具栏,还有链接C+语言虚拟机实现编译与运行。操作系统为 Windows 7。关键词:文本编辑器 C+程序语言编译运行The design of text editorAbstract : Today, the rapid development of computer and network technology, society is rapidly advancing to the information society, we need
5、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 language is
6、 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 complete set of
7、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 Window 7.C + +
8、 programming language compileKeywords : The text editor function刖H 11课程设计的意义及目的 12文本编辑器总体结构设计 22.1文本编辑器功能 22. 1. 1文本编辑器的基本功能 22. 2总体结构 23文本编辑器各功能模块 42.1 需求分析 43. 2功能模块 44软件结构设计 54. 1撤销 55. 2删除 64.3剪切 74.4复制 94. 5粘贴 105操作步骤 124.1 打开文本编辑窗口 124.2 输入文本 124.3 删除文本内容 124.4 在编辑里选择撤销 134.5 选中文本,编辑里选复制 134.6
9、 在编辑里选择粘贴 144.7 再次选中文本内容,剪切 144.8 再粘贴 15结束语 16附录 17文本编辑器刖百在文本编辑器出现前,人们用打孔机把计算机文字打到穿孔卡片上。文字存 放于一个装着这样的薄卡片的盒子里,可以用读卡器来阅读它。第一个文本编辑 器是一种行编辑器,它运行在打字机型的终端上,这种编辑器并不具备在窗口和 屏幕中显示的功能。它包含了一些非常短的命令(为了减少打字量)。其中一个 命令能够把文件的指定部分通过打字机打印出来。编辑光标是想象中的一个插入 点,通过特殊命令,可以把它移动到特定内容字符串所在的行。随后,内容字符 用又被扩展成正则表达式。如果想看到文件的变化,你需要把它
10、打印出来。相对 于穿孔机来说,人们认为这种基于行的文本编辑器具有革命性的进步。如果没有 它,用户就需要把那些处理文本的命令打成专用的卡片,并在编辑文件时使用这 些卡片。当带有显示屏的计算机终端出现后,基于显示屏的文本编辑器开始流行起来。 最早的全屏编辑器中,有一种叫做 O26它是于1967年为CDC 6000系列机器的 操作控制台而作的。另外一个早期的全屏编辑器是 vi ovi诞生于20世纪70年代, 至今,它仍是Unix和Linux的标准编辑器。全屏编辑器对视频终端的销售起到了 促进的作用。文本编辑器在 Windows的应用中是一个非常重要的项目,在过去十 数年中,微软对windows文本编
11、辑器有多个版本的升级改进,而基于其他的编程 环境的文本编辑器也是多如牛毛,今天我们用 MFCT视化编译环境做一个简易的 文本编辑器。1课程设计的意义及目的为了满足普通用户对文本文档进行一般的简单操作,设计文本编辑器,用户 可以对文本进行如下的基本操作。通过该课程设计,锻炼学生的基本编程技能, 基于C语言基本知识,进一步扩展 C+林口 windows界面编程的知识和应用;培养 学生分析问题和解决问题的能力;促进把所学知识灵活应用到具体实践中。该课 程设计要求学生综合运用在课程中学到的技术与实际编程相结合,独立完成一项 较为完整、并具有一定实际功能的课程设计任务,同时加深学生对面向对象和C+编程技
12、术的理解和掌握,培养实际的应用程序开发能力。在课程设计过程中,使 学生养成良好的程序设计风格,并掌握C+权用程序的设计开发过程和编程方法、 测试方法。2文本编辑器总体结构设计2. 1文本编辑器功能2. 1. 1文本编辑器的基本功能该文本编辑器是用windows编写的一个程序,运行后弹出文本编辑器 的主界 面,由键盘输入或以打开的方式输入或显示文本文件内容。其中程序的编辑项可 对当前的文本进行撤销、删除、剪切、复制、粘贴、在文本里显示当前时间、全 选、清除、查找、替换、统计等功能。程序的文件项可以对电脑上txt,c+等可以发出不同的报警声。格式文件的打开、对当前文本的保存和另存、对当前文本的的新
13、建以及退出文本编辑系统。输入形式:? 直接在文本编辑框中输入文本内容? 以打开的方式打开并在文本框中显示电脑的上文本 输出形式:? 对编辑框中尚无文本内容时进行查找、替换、统计等,程序会弹出一个提示 尚无文本信息的小对话框,需输入文本后再进行以上操作? 对编辑框中已有文本内容后进行查找、替换、统计操作,程序将弹出3与之对应的对话框,根据所弹出的对话框的按键要求进行之后的操作就可以。保 存文件,另存为等功能都异曲同工,撤销、删除、剪切、复制、粘贴、等就 直接在主文本编辑框中操作,直接在其显示操作后的文本信息。2. 2总体结构该程序是用C+邮言编译成的,编辑中主要能够实现撤销功能、复制功能、 粘贴
14、功能、删除功能和剪切功能打开图2-1系统功能图图2-2系统流程图3文本编辑器各功能模块文本编辑器主要由五大功能构成,他们分别是文件操作模块,文本编辑模块, 剪切操作模块,菜单控制模块和帮助及其他模块。在文本编辑模块中,主要完成 文件的撤销、删除操作。剪切操作模块主要完成剪切、复制、粘贴操作。2.1 需求分析文本编辑器的设计是基于Microsoft Visual Studio 2008开发的一款小型的 软件,主要的设计是为了满足普通用户对文本文档进行一般的简单操作,通过MFC 可视化编程环境,直接生成一个友好的用户操作界面,通过这个窗口,用户可以 对文本进行如下的基本操作。文本编辑器主要由五大功
15、能构成,他们分别是文件操作模块,文本编辑模块, 剪切操作模块,菜单控制模块和帮助及其他模块。在文件操作模块中,主要完成 文件的创建,打开,保存和另存操作。用户可以选择文件菜单上的新建子菜单来 完成新建文本文件操作;选择文件菜单上的保存子菜单来完成保存文件操作选择 文件菜单上的打开子菜单来完成打开文件操作。在文件的打开,保存和另存为操 作中,系统会提示用户输入文件路径及文件名。值得一提的是,当用户打开一个 文件时,指定的文件必须存在,否则系统会报错。3. 2功能模块在文本编辑器模块中,主要完成在编辑窗口中以添加或插入的方式输入字符, 删除光标所在当前位置的单个字符或前一个位置的单个字符,朝上下左
16、右4个方向的光标移动操作。当光标所在位置及后面的位置没有字符时,系统会以添加的 方式输入字符;当光标所在位置及后面的位置有字符时,系统会已插入的方式输 入字符。用户可以使用BackSpace键删除光标前一个字符,也可以使用 Del键删 除当前位置的字符。? 撤销:撤销前一步所进行的操作,从“编辑下拉菜单”或“右键菜单撤 销? 删除:删除当前选定字符(用),从“编辑下拉菜单”或“右键菜单” 中删除 全选:对文本编辑框中文本全部选定,从“编辑下拉菜单”或“右键菜 单”中全简易文本编辑器主要完成对已选定文本的剪切,复制,粘贴工作。如果用户要剪切文本以便 可以将它移动到其他位置,可通过先选定文本,然后
17、选择Edit菜单上的Cut子菜 单完成剪切任务。如果用户要复制文本以便可以将它黏贴到其他位置,必须先选 定文本,然后选择Edit菜单上的Copy子菜单来完成复制任务。如果用户要粘贴 剪切或复制的文本,必须将光标置于要粘贴文本的位置, 然后选择Edit菜单上的 Paste子菜单来完成粘贴任务。? 剪切:复制并删除选定字符(用),从“编辑下拉菜单”或“右键菜单” 中剪切? 复制:复制选定字符(用),“编辑下拉菜单”或“右键菜单”中复制? 粘贴:对粘贴内容进行粘贴,从“编辑下拉菜单”或“右键菜单”中粘 贝占4软件结构设计4. 1撤销txteditUatT文件摩口刖L 疑肖二|复制更加卜招贴撤销命令是
18、系统自带的函数,使用是调用 OnMenuUndo数命令,详细代码如 下所示:void CTxteditDlg二OnEditundo()/ TODO: Add your command handler code here /直接调用类CEdit的成员函数Undo CEdit*pEdit=(CEdit*)GetDlgItem(IDC_EDIT1);pEdit->Undo();图4-1撤销流程图4. 2删除删除命令调用的是系统自带函数,使用的是OnMenuDelet函数命令,详细代码如下所示:void CTxteditDlg二OnEditDelete() CEdit*pEdit=(CEdit*
19、)GetDlgItem(IDC_EDIT1);pEdit->Delete();开始图4-2删除流程图4. 3剪切剪切命令调用的是系统自带函数,使用的是OnMenueC由数命令,详细代码如下所示:void CTxteditDlg:OnMenucut() / TODO: Add your command handler code hereCEdit *pEdit=(CEdit*)GetDlgItem(IDC_EDIT1);并将删除的文本拷贝到剪pEdit->Cut();删除编辑控件中当前选中的文本,贴板中复制命令调用的是系统自带函数,使用的是OnMenuCoM数命令,详细代码如下所示:
20、void CTxteditDlg二OnMenucopy() / TODO: Add your command handler code hereCEdit *pEdit=(CEdit*)GetDlgItem(IDC_EDIT1);pEdit->Copy();/ 删除编辑控件中当前选中的文本,并将删除的文本拷贝到 剪贴板中图4-4复制流程图4. 5粘贴粘贴命令调用的是系统自带函数, 使用的是OnMenuPast函数命令,详细代码 如下所示:void CTxteditDlg:OnMenupast()/ TODO: Add your command handler code hereCEdit
21、 *pEdit=(CEdit*)GetDlgItem(IDC_EDIT1);并将删除的文本拷贝到pEdit->Paste();/删除编辑控件中当前选中的文本,剪贴板中图4-4粘贴流程图5操作步骤5.1 打开文本编辑窗口5.2 输入文本5.3删除文本内容5.8再粘贴结束语步入大学,我们接触到了更多的计算机专业知识。在大一第二学期,学习了 C+附序设计,大二的时候又学习了数据结构课程。 而这学期的课程设计,对我来 说是一个新的挑战。从开始到现在,课程设计的每一个环节,我自己都精心准备, 让我对编程有了更深刻的认识,也是我知道了自己的不足之处。在老师刚布置下来任务之后,我便开始在网上和图书管理
22、搜集资料,虽然关 于这方面的资料很多,但是好多都和我的不相匹配。于是我每一本书都仔细阅读, 筛选出了对我的程序设计有用的信息。然后,看懂了是一方面,自己动手做,又 是另一个挑战。我发现如果不是透彻的弄懂了,在实际操作的时候,根本实现不 了结果。于是,我又把资料仔细的阅读,并询问老师和同学们,再加上自己的摸 索,最终提早完成了任务。我设计的是简易文本编辑器,要求有查找,插入,替 换,块移动,删除功能,在这次课程设计作业的过程中,虽然课程设计有明确的 目的及要求,但由于在设计方面我们没有经验,理论基础知识掌握得不牢固,在 设计中难免会出现这样那样的问题。在编写过程中也有许多小问题,比如没有定 义,
23、缺少符号等等,但经过仔细的修改以及寻求别人的帮助把问题也改正了,大 多数是因为自己的粗心而引起的。在设计过程中,要独立的完成自己的设计思路。在学习理论知识的同时也要 参加实践活动,把课本上的知识运动到实践当中去,也是我们学习专业理论知识 的最终目的。本次的课程设计,培养了我C+邮言,C语言及其他课程的理论知识 和理论联系实际,应用生产实际知识解决实际问题的能力;在设计的过程中还培 养独立自主的能力。在今后的学习过程中我们会更加努力。经过了连续两周的不懈努力,我终于完整的完成了文本编辑器的课程设计。 在做此实验中虽然碰到了很多困难,但是在克服困难的同时我们获益良多。巩固 书本上的知识,对书上的知
24、识能更透彻地了解。通过自己设计程序积累调试数据 结构经验,培养了我的编程能力。巩固我们所学的C+S程知识,消化课堂所讲解的内容。对所学课程及其知识的一种整理,将原本在我们脑中比较混乱的课程 设计重新梳理。1)通过课程设计我更好的掌握编程的基本设计思路, 为以后灵活运用奠定了 基础。2)相对于以前,我能够独立的完成简单的程序设计以及完成一份较为满意的 程序设计报告。3)通过这次课程设计,达到了我增强巩固C+魏程知识的目的,使知识全面化,系统化。4) C+程序设计在计算机学科的学习中,是一门比较重要的环节,这次的巩 固与加深提高了我的实际工作能力,培养科学作风,为学习后续课程和今后系统 开发奠定基
25、础。5)课程设计更注重的是综合训练,做到学以致用。6)培养了分析问题与解决问题的能力。附录 txtedit.cpp : 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/ CTxteditA
26、ppBEGIN_MESSAGE_MAP(CTxteditApp, CWinApp)AFX_MSG_MAP(CTxteditApp)/ NOTE- the ClassWizard will 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(
27、)/ 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 following/ the specific initializa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑地基处理桩位偏差控制方法选择
- React天气模块化设计课程设计
- 心理疾病康复训练计划
- 妇科肿瘤手术后恢复护理方案
- 插画设计色彩应用规范
- 设计师软件制作要点解析
- 耳鼻喉科慢性鼻炎患者饮食禁忌
- 肝病肝性脑病综合治疗教程
- 老年住宅室内设计方案
- 设计考察执行规范与实施路径
- 周仲瑛教授治疗外感咳嗽心要(新)
- 家长写给高三孩子的一封信范文
- 慢性肾脏病矿物质及骨代谢异常
- JC∕T 60016-2022 建筑用免拆复合保温模板应用技术规程
- 理财知识及运用智慧树知到期末考试答案2024年
- 国开2024年《钢结构(本)》阶段性学习测验1-4答案
- 中医四诊在骨科评估中应用护理课件
- 沈阳恒昌塑料制品厂建设项目环境影响报告
- 准噶尔盆地西北缘地层表及地质符
- 房屋安全鉴定检测作业指导书
- 颈椎病中医治疗及康复
评论
0/150
提交评论