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

简介:

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

Demo.exe下载

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

设计界面如下

运行的样子


本文转自 不得闲 博客园博客,原文链接:   http://www.cnblogs.com/DxSoft/archive/2011/06/07/2074720.html,如需转载请自行联系原作者

相关文章
|
7月前
win32编程 -- 模式对话框
win32编程 -- 模式对话框
41 1
|
7月前
|
存储 Shell Linux
【Shell 命令集合 系统设置 】Linux 显示或设置键盘按键与其相关的功能 bind命令 使用指南
【Shell 命令集合 系统设置 】Linux 显示或设置键盘按键与其相关的功能 bind命令 使用指南
94 0
|
7月前
win32编程 -- 无模式对话框
win32编程 -- 无模式对话框
39 0
|
关系型数据库 API C#
C#调用执行命令行窗口cmd,及需要交互执行的处理
C#执行外部程序用到的是Process进程类,打开一个进程,可以指定进程的启动信息StartInfo(启动的程序名、输入输出是否重定向、是否显示UI界面、一些必要参数等)...
3133 0
C#调用执行命令行窗口cmd,及需要交互执行的处理
|
Windows
PowerShell和cmd区别以及在文件夹快速打开cmd窗口的几种方法
PowerShell和cmd区别以及在文件夹快速打开cmd窗口的几种方法
177 0
|
数据可视化 编译器 C++
C++ 用DEV-C++建一个Windows窗口程序带文本框和命令按钮
C++ 用DEV-C++建一个Windows窗口程序带文本框和命令按钮
2336 0
|
前端开发 测试技术
clswindow使用案例:防止vb程序重复打开,如果重复打开则激活当前已经打开的程序
clswindow使用案例:防止vb程序重复打开,如果重复打开则激活当前已经打开的程序
286 0
clswindow使用案例:防止vb程序重复打开,如果重复打开则激活当前已经打开的程序
一种切实可行的后台执行脚本方法——利用VB脚本隐藏CMD命令窗口
一种切实可行的后台执行脚本方法——利用VB脚本隐藏CMD命令窗口
414 0
|
Windows
【Windows 逆向】OD 调试器工具 ( 显示模块窗口 | 显示记录窗口 | 显示内存窗口 | 显示线程 | 显示句柄 | 显示 CPU | 多窗口界面 )(二)
【Windows 逆向】OD 调试器工具 ( 显示模块窗口 | 显示记录窗口 | 显示内存窗口 | 显示线程 | 显示句柄 | 显示 CPU | 多窗口界面 )(二)
367 0
【Windows 逆向】OD 调试器工具 ( 显示模块窗口 | 显示记录窗口 | 显示内存窗口 | 显示线程 | 显示句柄 | 显示 CPU | 多窗口界面 )(二)
|
Windows
【Windows 逆向】OD 调试器工具 ( 显示模块窗口 | 显示记录窗口 | 显示内存窗口 | 显示线程 | 显示句柄 | 显示 CPU | 多窗口界面 )(一)
【Windows 逆向】OD 调试器工具 ( 显示模块窗口 | 显示记录窗口 | 显示内存窗口 | 显示线程 | 显示句柄 | 显示 CPU | 多窗口界面 )(一)
338 0
【Windows 逆向】OD 调试器工具 ( 显示模块窗口 | 显示记录窗口 | 显示内存窗口 | 显示线程 | 显示句柄 | 显示 CPU | 多窗口界面 )(一)