最近做项目,弄个SQL调试器自己用,
数据库连接的封装,SQL语句的SAVE/LOAD管理,,执行跟踪和LOG,查询结果输出保存打印什么的都不是问题,但是对于MEMO里载入的SQL语句的格式化,应该如何解决,我找了SYNEDIT来用,只能实现KEYWORD的高亮.
看见QUEST的FORMPLUS,PLSQL DEVELOP的BEAUTIFUL功能,很漂亮,很是佩服.
高人们给说说思路吧.

解决方案 »

  1.   

    我的想法是这个东西应该支持用户导入模板\自定义模板等,让用户按照自己的习惯去格式化输入的文本,当然,不打算把它弄成象WORD那样的东西.模板的保存可以使用XML或是INI文件或自定义格式的文件存储.所以最重要的是应该记录下哪些关键元素,保存\载入,保证必要的效率.
    myart(寒林),能说下你的思路吗?
      

  2.   

    memo和richedit差不多的,如果要让文字显示不同的颜色,richedit比较好些而已
    执行按钮事件里先判断是否有文字处于选中状态,根据memo1.sellength判断,如果有只执行选中区域语句,没有的话就全部执行,可以写一个循环语句将所有内容读到一个字符串里执行
      

  3.   

    一个简单的语法分析器,找本编译原理方面的书,学下前面几章轻松就能搞定格式化如果会用工具,找些lex/yacc工具,自己提供正则式和文法就能自动生成这部分代码(DFA和语法树生成),不过只能生成Pascal版的,封装还得靠自己。格式化就是将语法树按自己要求再反向展开。至于在控件中部分字符高亮显示就没啥好说了,像SynEdit也是开源的,可以自己看看。有些问题如果不愿查MSDN间接找到答案,google或论坛搜索一下也可轻松直接得到答案,我几年前就在这里答过这个问题,还帮人写过DEMO,可惜找不到了。
      

  4.   

    谢谢 ehom(?!)。
    偶不是计算机专业科班出身的,所以在编译原理这些方面存在知识结构的缺陷。
    您给指明了方向,努力看书中。
    接分。