控制台应用程序框架






3.83/5 (16投票s)
一个用于快速创建控制台应用程序的框架。
引言
在编写软件的行业中,几乎每个人都会遇到需要使用控制台应用程序的情况。这些“控制台”通常用于测试实际的应用程序代码或快速设置某种测试。大多数时候,这些应用程序的生命周期并不长,这正是您不想在实现上花费太多时间的原因。此外,可以说在大多数控制台应用程序中都需要许多功能,例如计时器或日志记录实用程序功能。
如果有一个“空”的控制台应用程序,提供许多基本功能,您只需添加自己的特定代码,这是否会很有帮助呢?如果没有,请停止阅读。
APP002 应用程序框架 提供了一个空控制台应用程序,模仿了众所周知的 DOS 界面,因此允许在命令行上输入自定义命令。默认情况下,仅支持“quit”、“?”和一些示例命令。
框架概述
- 适用于 C 和 C++ 用户的控制台应用程序框架。
- 尽管包含的项目文件是 Visual Studio .NET 文件,但源代码与 IDE 无关。
- 您可以添加任意数量的命令。每个命令都允许多个参数。
- 可以定义隐藏命令(用户不可见的命令)。
- 允许命令行参数包含空格字符。
- 基于框架的应用程序可以从脚本或 DOS 框中调用。
- 您可以使用键盘上的向上和向下箭头来浏览命令历史记录。
- 提供基本日志记录功能。
- 提供微分辨率的计时功能。
- 通过 Perl 脚本 支持自动版本控制。
框架详情
该框架包含三个主要部分:引擎、命令表 和 实用程序。接下来的段落将简要讨论它们。更多详细信息以及一些示例代码可在您下载的源代码附带的 用户手册 中找到。
1. 引擎
引擎是负责两部分代码:提供用户界面 和 执行您在命令行上输入的命令。关于用户界面,没有什么可说的:有一个默认标题和一个命令提示符(参见 look.h)。两者都可以由框架用户更改。
引擎支持两种执行命令的方式。首先,您可以启动控制台应用程序,在命令行上输入一个命令,然后按 Enter 键。结果将显示在控制台窗口内。但是,您也可以从脚本或批处理文件中调用控制台应用程序。
2. 命令表
命令表(参见 commandTable.h)是您添加要在命令行上输入的新命令的地方。将条目添加到表中很容易:复制/粘贴现有的 CMD_ENTRY
并更新其各个字段。每个条目有四个字段
- 命令名称:您必须在命令行上键入的名称才能执行该命令。
- 参数:(
TRUE
/FALSE
) 指示该命令是否带参数。 - 函数地址:指向将用于执行命令的函数的引用。
- 注释:当执行“?”命令时显示的某些说明。
START_COMMAND_TABLE CMD_ENTRY("q", FALSE, NULL, "Quit command") CMD_ENTRY("?", FALSE, NULL, "Help me please") CMD_ENTRY("cls", FALSE, clsCmd, "Clear screen") // PUT HERE YOUR OWN COMMAND ENTRIES // ALWAYS LEAVE FIRST TWO COMMANDS IN PLACE !! END_COMMAND_TABLE
第三个字段内的函数由框架用户实现。您可以使用 commands.h 和 commands.cpp 文件来完成此操作。
3. 实用程序
在实现您自己的命令时,您会经常发现自己一遍又一遍地实现相同的功能。因此,该框架提供了一组常用的实用程序函数。目前有三个主要组:计时函数、日志记录函数和解析函数。计时和日志记录函数的使用不言而喻。解析函数在分析您在命令行上输入的命令参数时非常有用。更多信息请参见用户手册。
历史
- 2005 年 7 月 8 日,版本 2.0.0,首次 CodeProject 发布。