预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共34页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

文本编辑器文本编辑器是最常用的文档创建和编辑工具。随着计算机科学与技术的发展用来处理文本的编辑器随处可见并且形式多样。比如Windows下的记事本写字板EditPlusUltraEdit等都是十分优秀的文本编辑器和处理工具。在本章中我们将向读者讲解如何利用C语言来发展开发一个简易的文本编辑器。1设计目的利用C语言的单链表数据结构及相关函数本章编程实现了一个与DOS操作系统下的Edit相似的文本编辑器。再次文本编辑器中用户可以通过快捷和选择菜单项完成基本的文本编辑器和文件处理工作。通过文章的介绍读者可以了解文本编辑器的开发过程掌握菜单的开发技巧加深对文件操作的理解。更重要的是希望此程序能抛砖引玉引领读者掌握编程的方法和技巧开发出更优秀的程序。2功能描述如图.1所示文本编辑器主要由五大功能模块构成它们分别是文件操作模块文本编辑模块剪切操作模块菜单控制模块和帮助及其他模块。下面分别简要介绍功能模块的功能。文件操作模块。在文件操作模块中主要完成文件的创建打开保存和另存操作。用户可以选择File菜单上的New子菜单来完成新建文本文件操作;选择File菜单上的Save子菜单来完成保存文件操作选择File菜单上的Open子菜单来完成打开文件操作;选择Flie菜单上的Saveas子菜单来完成文件的另存为操作。在文件的打开保存和另存为操作中系统会提示用户输入文件路径及文件名。值得一提的是当用户打开一个文件时指定的文件必须存在否则系统会报错。文本编辑器模块。在文本编辑器模块中主要完成在编辑窗口中以添加或插入的方式输入字符删除光标所在当前位置的单个字符或前一个位置的单个字符朝上下左右4个方向的光标移动操作。当光标所在位置及后面的位置没有字符时系统会以添加的方式输入字符;当光标所在位置及后面的位置有字符时系统会已插入的方式输入字符。用户可以使用BackSpace键删除光标前一个字符也可以使用Del键删除当前位置的字符或删除Ctrl+左移(右移)键i选定了的多个字符。用户可以使用左移键(←)右移键(→)上移键(↑)和下移键(↓)来移动光标位置。剪贴板操作模块。在剪贴板操作模块中主要完成对已选定文本的剪切复制粘贴工作。如果用户要剪切文本以便可以将它移动到其他位置可通过Ctrl+X左移键(右移键)先选定文本然后选择Edit菜单上的Cut子菜单或按Ctrl+X快捷键来完成剪切任务。如果用户要复制文本以便可以将它黏贴到其他位置必须先选定文本然后选择Edit菜单上的Copy紫菜单或按Ctrl+C快捷键来完成复制任务。如果用户要粘贴剪切或复制的文本必须将光标置于要粘贴文本的位置然后选择Edit菜单上的Paste子菜单或按Ctrl+V快捷键来完成粘贴任务。菜单控制模块。在菜单控制模块中主要完成菜单的显示。光带条在子菜单之间的上下移动或菜单之间的左右移动和子菜单项的选取。本文本编辑器共有FlieEdit和Help3个子菜单项用户可以分别按F1F2和F3功能键来完成这3个菜单项的调用即显示某项菜单。用户可按光标上移或下移键在某菜单项的子菜单之间循环移动也可使用光标的左移或右移键在3个菜单项之间循环移动。当光带移动到某个字菜单项上时用户此时可使用Enter键来选取相关菜单选项。帮助及其他模块。在帮助及其他模块中主要完成系统功能及按键的简要介绍。其他模块包括文本的快速预览和窗口的显示。用户可按F10功能键来打开快速预览窗口在快速预览窗口中没有功能菜单条。主窗口要有菜单栏文本编辑区和状态栏三大部分构成菜单栏用来显示菜单项文本编辑区主要用来文本字符的输入删除等操作状态栏主要用来显示当前光标在文本窗口中的坐标值。注意:TurboC2.默认定义的文本窗口为整个屏幕共有80列(或40列)25行的文本单元每个单元包括一个字符和一个属性字符即ASCII码字符属性规定该字符的颜色和强度。同时他还规定整个屏幕的左上角坐标为(11)右下角坐标为(8025)。并规定沿水平方向为X轴方向朝右;眼垂直方向为Y轴方向朝下。3总体设计3.1功能模块设计在.2节中简单描述了各功能模块的作用下面分别介绍各功能模块的具体设计。在介绍各功能模块的具体设计之前有必要先描述一下主程序的执行流程。程序执行主流程文本编辑器程序执行主流程如图.2所示它是在main()函数中实现的。他首先初始化一些全局变量及结构数组接着调用drawmain()函数来显示主窗口然后调用while(1)进入主循环等待用户按键最后程序根据用户的按键值进行相应的处理完成文本编辑的相关工作。下面对图.2中的按键判断和相关处理作补充说明。若按键为常规字符即其ASCII码大于32小于127则