zoukankan      html  css  js  c++  java
  • 实现一个模拟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的命令输入与显示了

    设计界面如下

    运行的样子

    Demo.exe下载

  • 相关阅读:
    权限设计 【数据库和代码】 GO
    sql读取指定字符前的字符 GO
    C#编码建议 GO
    网页鼠标提示 GO
    ASP.NET设置ie打印两法 GO
    正则表达式入门教程 GO
    一个初学者对ArrayAdapter的简单理解
    泛型的简单理解
    SQL Server死锁详解
    .NET代理模式
  • 原文地址:https://www.cnblogs.com/DxSoft/p/2074720.html
Copyright © 2011-2022 走看看