实现一个模拟CMD.exe命令编辑模式执行与显示的Delphi控件

来源:互联网 时间:1970-01-01

   cmd.exe这个东西是Windows系统自带的执行Dos的一个灰常好的人机命令交互的执行方式,现在很多脚本语言也都带有这种即时解释的人机模式。当下由于工程的需要,也要做一个类似命令解释显示的编辑器,基本上完全模拟Cmd.exe的这种交互模式,昨天,基本上搞定了这种命令行的编辑器,这个东西的复杂之处就是在于编辑文字的处理,显示相对来说要容易的多,而编辑中最麻烦的一环就是多种处理模式,比如选中,粘贴,复制等,选中相对来说应该是最麻烦的,我这个也暂时没实现这几个编辑功能。文字的插入相对比较容易点,记录位置,插入就行了。实际上在中文的输入处理上应该也很麻烦(如果你用的是Delphi2009之前的版本的话),不过,现在用的是Delphi XE作为开发工具,相对来说就要容易很多很多了,因为有了Unicode的支持,可以直接通过WM_Char来获得汉字了,不像以前要处理很多很多代码的。至于命令的显示,就更容易了,计算位置,插入,显示,这个编辑器就完成了,如果加上类似文本编辑器的那种编辑操作的话,就更爽了,如果在加上一个和Delphi写代码一样有代码提示这种命令提示功能就更加爽大发咯!呵呵,不过那些都是后话,目前也就仅仅完成一个基本功能,算是能模拟cmd.exe这种编辑器的90%的功能了吧。目前的控件,算是实现了一个个小小的目的了吧,记录一下日志。同时拟定一个下一步目标,就是编辑功能完善,命令代码提示功能实现。(不过也不晓得要到什么时候了,可能需要这种功能的时候才会要去继续添加这种方式的实现了,毕竟是比较复杂的玩意,就那个选择的,我本来打算实现的,想了一下,多行选择,单行选择,选择文字和非选择文字的截断,分段绘制,我都蛋疼了,所以就暂时不想去实现,也是自己懒吧,^_^!不过无所谓了,目前功能基本上够用了。使用本命令编辑器基本上可以模拟Python,Erlang等直接命令行表达式的执行的小型命令行解释器了,呵呵)来两个图

Demo.exe下载

这就是这个命令编辑器的基本模式,命令可以自己随意定义响应了。然后我通过这个基本模式的控件继承实现了一个Cmd.exe的编辑器控件,可以直接模拟Cmd.exe的命令输入与显示了

设计界面如下

运行的样子

Demo.exe下载

作者:不得闲出处:http://dxsoft.cnblogs.com/本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原
文连接,否则保留追究法律责任的权利。


相关阅读:
Top