实现一个模拟CMD.exe命令编辑模式执行与显示的Delphi控件
2011-06-07 23:52
1076 查看
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下载
Demo.exe下载
这就是这个命令编辑器的基本模式,命令可以自己随意定义响应了。然后我通过这个基本模式的控件继承实现了一个Cmd.exe的编辑器控件,可以直接模拟Cmd.exe的命令输入与显示了
设计界面如下
运行的样子
Demo.exe下载
相关文章推荐
- 实现一个模拟CMD.exe命令编辑模式执行与显示的Delphi控件
- Delphi组件开发教程指南(6)实现一个模拟动画显示控件
- 想让命令行(cmd.exe)执行一个命令怎么办
- 实现一个模拟动画显示控件
- #写一个脚本实现如下功能: 输入一个数字,然后运行对应的>一个命令。显示命令如下:*cmd meau** 1—date 2–ls 3–who 4–pwd #当输入1时,会运行date, 输入2
- shell练习:写一个脚本实现如下功能:输入一个数字,然后运行对应的一个命令。显示命令如下:*cmd
- Delphi 中实现判断某个外部程序是否运行(如果运行则执行一个命令否则执行一个命令)
- 如何实现点击Winform程序窗体中的一个按钮,执行这个exe文件?
- 怎样在vs2010里面实现两个编辑控件对应一个消息处理函数
- android如果重写onDraw实现一个类似TextView可以显示表情和链接的控件(二)
- 用C#调用CMD.exe,执行DOS命令,编码FLV
- DELPHI 如何执行一个更改了扩展名的EXE文件
- 设计模式(14)----- 命令设计模式(升级----一个命令对象执行多条命令)
- 老男孩教育每日一题-2017年5月7日-加餐-linux下面如何实现,执行rm命令,就显示do not use rm command
- cmd环境下实现:为命令设置别名、启动cmd时自动执行bat
- 用Delphi编写一个简单的文本编辑器,怎样实现关键字高亮显示?
- 我做了一个EXE文件,想在SQL Server上定时执行这个EXE文件,如何实现
- GridView实现鼠标移动是,动态显示‘编辑、删除、查看’等命令按钮
- 实现一个简单可编辑的下拉框控件
- pushbutton成为可点击的图标(实现全透明,不论点击与否都只显示Icon)(也就是一个万能控件)