小弟在写一个文本编辑器,想如同delphi高亮度显示其关键字和保留字一样,在编辑器中显示pascal的关键字和保留字。谢谢各位高手!分不多,不够再加!

解决方案 »

  1.   

    在盒子上有一个SourEdit控件,有源代码就五千多行。
    下下来看一下。不过可以肯定这个编辑一定要多CustomControl继承下来,一切事情自己做,而不是用Window标准控件。
      

  2.   

    我写过类似的源代码,那样看你想要什么样级别的突出显示.如果你不想做成一个通用的代码编辑器的话.就少了很多事,主要是从头到尾的扫描文本文件,如果发现有与关键字匹配的就改变颜色显示.如果做成通用的话,支持各种语言,包括新加的关键字,如C/C++,将其所有的关键字和符号和语法特点都写到一个文本文件里.Ultra Edit就是这样做的.然后读入,在对文本文件进行分析.这样就不能使用简单的匹配查找的方法了,要使用编译原理里的知识,将文本文件做一定级别的词法语法分析.不必要像编译器那样,做完整的编译,一定级别的就够了,分析出大致的语法结构就行了.然后再高亮度显示.我本人更推荐你使用第二种方法,如果你有时间的话,第一种也可试试,非常考验你在string方面的非数值程序的编制能力.