- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(c语言课程设计)2
文本编辑器
文本编辑器是最常用的文档创建和编辑工具。随着计算机科学与技术的发展,用来处理文本的编辑器随处可见,并且形式多样。比如,Windows下的记事本,写字板,EditPlus,UltraEdit等都是十分优秀的文本编辑器和处理工具。在本章中,我们将向读者讲解如何利用C语言来发展开发一个简易的文本编辑器。
1 设计目的
利用C语言的单链表数据结构及相关函数,本章编程实现了一个与DOS操作系统下的Edit相似的文本编辑器。再次文本编辑器中,用户可以通过快捷和选择菜单项,完成基本的文本编辑器和文件处理工作。
通过文章的介绍,读者可以了解文本编辑器的开发过程,掌握菜单的开发技巧,加深对文件操作的理解。更重要的是,希望此程序能抛砖引玉,引领读者掌握编程的方法和技巧,开发出更优秀的程序。
2 功能描述
如图.1所示,文本编辑器主要由五大功能模块构成,它们分别是文件操作模块,文本编辑模块,剪切操作模块,菜单控制模块和帮助及其他模块。下面分别简要介绍功能模块的功能。
文件操作模块。在文件操作模块中,主要完成文件的创建,打开,保存和另存操作。用户可以选择File菜单上的New子菜单来完成新建文本文件操作;选择File菜单上的Save子菜单来完成保存文件操作选择File菜单上的Open子菜单来完成打开文件操作;选择Flie菜单上的Save as子菜单来完成文件的另存为操作。在文件的打开,保存和另存为操作中,系统会提示用户输入文件路径及文件名。值得一提的是,当用户打开一个文件时,指定的文件必须存在,否则系统会报错。
文本编辑器模块。在文本编辑器模块中,主要完成在编辑窗口中以添加或插入的方式输入字符,删除光标所在当前位置的单个字符或前一个位置的单个字符,朝上下左右4个方向的光标移动操作。当光标所在位置及后面的位置没有字符时,系统会以添加的方式输入字符;当光标所在位置及后面的位置有字符时,系统会已插入的方式输入字符。用户可以使用BackSpace键删除光标前一个字符,也可以使用Del键删除当前位置的字符或删除Ctrl+左移(右移)键i选定了的多个字符。用户可以使用左移键(←),右移键(→),上移键(↑)和下移键(↓)来移动光标位置。
剪贴板操作模块。在剪贴板操作模块中,主要完成对已选定文本的剪切,复制,粘贴工作。如果用户要剪切文本以便可以将它移动到其他位置,可通过Ctrl+X左移键(右移键)先选定文本,然后选择Edit菜单上的Cut子菜单或按Ctrl+X快捷键来完成剪切任务。如果用户要复制文本以便可以将它黏贴到其他位置,必须先选定文本,然后选择Edit菜单上的Copy紫菜单或按Ctrl+C快捷键来完成复制任务。如果用户要粘贴剪切或复制的文本,必须将光标置于要粘贴文本的位置,然后选择Edit菜单上的Paste子菜单或按Ctrl+V快捷键来完成粘贴任务。
菜单控制模块。在菜单控制模块中,主要完成菜单的显示。光带条在子菜单之间的上下移动或菜单之间的左右移动和子菜单项的选取。本文本编辑器共有Flie,Edit和Help3个子菜单项,用户可以分别按F1,F2和F3功能键来完成这3个菜单项的调用,即显示某项菜单。用户可按光标上移或下移键在某菜单项的子菜单之间循环移动,也可使用光标的左移或右移键在3个菜单项之间循环移动。当光带移动到某个字菜单项上时,用户此时可使用Enter键来选取相关菜单选项。
帮助及其他模块。在帮助及其他模块中,主要完成系统功能及按键的简要介绍。其他模块包括文本的快速预览和窗口的显示。用户可按F10功能键来打开快速预览窗口,在快速预览窗口中没有功能菜单条。主窗口要有菜单栏,文本编辑区和状态栏三大部分构成,菜单栏用来显示菜单项,文本编辑区主要用来文本字符的输入,删除等操作,状态栏主要用来显示当前光标在文本窗口中的坐标值。
注意:Turbo C2.默认定义的文本窗口为整个屏幕,共有80列(或40列),25行的文本单元,每个单元包括一个字符和一个属性,字符即ASCII码字符,属性规定该字符的颜色和强度。同时,他还规定整个屏幕的左上角坐标为(1,1),右下角坐标为(80,25)。并规定沿水平方向为X轴,方向朝右;眼垂直方向为Y轴,方向朝下。
3 总体设计
3.1 功能模块设计
在.2节中,简单描述了各功能模块的作用,下面分别介绍各功能模块的具体设计。在介绍各功能模块的具体设计之前,有必要先描述一下主程序的执行流程。
程序执行主流程
文本编辑器程序执行主流程如图.2所示,它是在main()函数中实现的。他首先初始化一些全局变量及结构数组,接着调用drawmain()函数来显示主窗口,然后调用while
文档评论(0)