前言
随着科技的发展,人们对精神生活要求的越来越高,纸质的手动式的书写方式已经不是能够代表新世纪的生活需要了,所以现在各种不同功能的文本编辑器已经悄悄走进我们的生活和学习中,像简单的就有记事本。但是一个简单的文本编辑器也是很重要的,是基础。所以在结合自己的一个学期的很认真的学习C#后,决定自己编译一个类似与记事本的,但功能比记事本强大的文本编辑器。
一、设计内容及要求
编程实现一个文本编辑器,具有以下功能:
(1)常规的文本编辑操作:新建、保存、复制、粘贴、撤销、恢复等
(2)支持至少一种语言的语法高亮
(3)配色方案可以编辑
(4)支持无限次撤销,支持多种语言的语法高亮
二、需解决的关键技术
(1)文本编辑器的基本操作
(2)语法高亮的显示
(3)配色方案的编辑
(4)查找与替换、书签等功能
三、系统设计
设计描述
1.语法高亮:
将文件读取入文本容器,文本容器对文本一行行读取入文件,分析每行中单词,根据不同的单词选择不同的配色。单词的配色一开始存放在hashTable中,根据使用者选择的语言,从hashTable中读取相对应的单词配色。
2.文件的无限次撤销
将文本读入undo栈,如果对文本进行增、改、删操作时,都将原内容入栈,当用户需要返回上一步时,就只需对出栈,返回上一文本内容即可。
3.对文本的查找和替换
将文件读入文本容器,根据用户的选择替换或者查询。如选择替换,则需要用户输入要查找的字段和替换后的字段,然后遍历,选择找到相同的内容,将找到的内容进行高亮,最后替换;查询操作亦是这样。
详细流程图
总功能图
单词高亮流程图
文件无限次撤销流程图
文本的替换和查询流程图
四、运行与测试
文件功能
编辑功能
选项功能
语言选择
帮助
语法高亮
配色选择
查找
替换
查找全部并显示高亮
替换全部
结语
语法高亮的文本编辑器设计的介绍就到这里啦,希望这篇文章能给予你一些帮助,感谢各位人才的:点赞、收藏和评论,我们下次见。
附录
以下提供测试代码
语法高亮的文本编辑器