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下载

转载于:https://blog.51cto.com/515632/790685

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

  1. cmd.exe命令行方式执行matlab代码 【转】

    matlab代码的命令行运行方式 当你安装完matlab时,matlab会自动将matlab.exe的路径注册到系统的环境变量.如下图: [图1] 这个时候,打开cmd.exe(附件中的命令行).首先 ...

  2. Windows上快速在指定目录打开cmd.exe命令行的方法

    前言 命令行在项目开发中使用频率很高,在指定目录中打开命令行也是很常见的需求,本文将介绍几种快速在指定目录打开cmd.exe命令行的方法,提高效率. 普通方式 运行->输入cmd.exe,点击确 ...

  3. Scott Mitchell 的ASP.NET 2.0数据教程之三十九:: 在编辑和插入界面里添加验证控件...

    原文 | 下载本教程中的编码例子 | 下载本教程的PDF版 导言 到目前为止的讨论编辑DataList的教程里,没有包含任何验证用户的输入,即使是用户非法输入- 遗漏了product的name或者负的 ...

  4. Windos下用setx.exe命令行模式下永久设置系统环境变量

    From: http://www.cnblogs.com/soli/archive/2007/08/30/876283.html setx.exe不是系统默认自带的命令,但可以从微软的网站(2K,XP ...

  5. Windos下用setx.exe命令行模式下永久设置系统环境变量(转)

    setx.exe不是系统默认自带的命令,但可以从微软的网站(2K ,XP )上下载到,是官方的咚咚,所以可以放心使用.这里 是我从2K 里的安装文件中抽取出来的exe文件,不想安装又信得过我的话可以下 ...

  6. window tomcat 启动后 点击cmd窗口 快速编辑模式导致项目宕机问题

    window tomcat cmd启动后 快速编辑模式导致项目宕机问题 新版本的window 操作系统,cmd默认是开启快速编辑模式 tomcat启动后,如果鼠标无意点击到tomcat cmd窗口 c ...

  7. mysql 执行cmd,mysql命令行中执行sql的几种方式总结

    1.直接输入sql执行 MySQL> select now(); +---------------------+ | now() | +---------------------+ | 2013 ...

  8. php模拟超级课程表,一个功能完善、UI简洁的仿超级课程表的课表控件 TimetableView...

    TimetableView 一个非常漂亮的Android课程表控件,该控件支持的功能: 设置数据源 颜色设置,控件内置17种颜色 触感反馈,每种内置颜色都有对应的三个样式 日期显示与高亮 课表Item ...

  9. 图形图像处理,CAD控件Simulation and Verification提供模拟机器的工具运转机床和车床材料的搬运控件...

    ModuleWorks为模拟机器的工具运转及(或)机床和车床材料的搬运提供了一整套解决方案. 模拟技术可以识别潜在的碰撞问题,允许在NC代码生成前进行除错检查,并且渐渐成为CAM处理方面必不可少的解决 ...

最新文章

  1. 能说明你的Javascript技术很烂的五个原因
  2. json取值_Mysql 中json数据存储读取
  3. pom.xml错误:org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter)的解决方法
  4. 【有上下界网络流】【ZOJ】2314 Reactor Cooling
  5. oracle自治事务的写法_Oracle的自治事务
  6. boost::mp11::mp_assign相关用法的测试程序
  7. Linux Ubuntu 修改Grub,添加删除启动项,初步辨析Grub文件。
  8. 微信小程序遍历wx:for,wx:for-item,wx:key
  9. jQuery 1.9+ 移除$.browser方法
  10. 【华为云技术分享】云图说 | 华为云智能边缘平台IEF:智能边缘 让AI触手可及
  11. ASP.NET Core和Blazor Code Venture:配置Azure AD身份验证
  12. python中oxf2是多少_python 函数基础2
  13. 微软Windows家族一览 从1.0到Longhorn
  14. 2021年最值得推荐的5款在线文档制作工具,效率这块稳稳拿捏
  15. YOLO1、YOLO2、YOLO3对比
  16. java银行存款案例
  17. Matlab 和 Simulink 教程学习基础入门
  18. Linux安装Vmware Workstation
  19. 假设中国某航空公司规定: 中国去欧美的航线所有座位都有食物供应。每个座位都可以播放电影。 中国去非欧美的国外航线都有食物供应,只有商务仓可以播放电影。 中国国内的航班的商务仓有食物供应,但是不可
  20. 7. 【containerd】连接远程containerd问题

热门文章

  1. 简明 HTML CSS 开发规范
  2. GDB 格式化结构体输出
  3. 数据竞争(data race)问题分析的利器——valgrind的Helgrind
  4. 【imx6】/dev中fb和video的对应关系
  5. 【视频】对RTSP抓包,分析通讯流程
  6. 在C语言中break语句称为,在C语言中,break语句的功能是退出函数
  7. PHP用oop写网站,收藏一个php的OOP开发使用小记
  8. π型滤波频率计算_滤波电路的总结
  9. 莹石云存储卡不兼容_继入股无锡好达之后,华为再度入股国产滤波器厂商德清华莹...
  10. mysql 多少个数据库_mysql数据库的几个基本概念