65.9K
CodeProject 正在变化。 阅读更多。
Home

控制台应用程序框架

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.83/5 (16投票s)

2005年7月11日

CPOL

3分钟阅读

viewsIcon

55162

downloadIcon

1381

一个用于快速创建控制台应用程序的框架。

Sample Image

引言

在编写软件的行业中,几乎每个人都会遇到需要使用控制台应用程序的情况。这些“控制台”通常用于测试实际的应用程序代码或快速设置某种测试。大多数时候,这些应用程序的生命周期并不长,这正是您不想在实现上花费太多时间的原因。此外,可以说在大多数控制台应用程序中都需要许多功能,例如计时器或日志记录实用程序功能。

如果有一个“空”的控制台应用程序,提供许多基本功能,您只需添加自己的特定代码,这是否会很有帮助呢?如果没有,请停止阅读。

APP002 应用程序框架 提供了一个空控制台应用程序,模仿了众所周知的 DOS 界面,因此允许在命令行上输入自定义命令。默认情况下,仅支持“quit”、“?”和一些示例命令。

框架概述

  1. 适用于 C 和 C++ 用户的控制台应用程序框架。
  2. 尽管包含的项目文件是 Visual Studio .NET 文件,但源代码与 IDE 无关。
  3. 您可以添加任意数量的命令。每个命令都允许多个参数。
  4. 可以定义隐藏命令(用户不可见的命令)。
  5. 允许命令行参数包含空格字符。
  6. 基于框架的应用程序可以从脚本或 DOS 框中调用。
  7. 您可以使用键盘上的向上和向下箭头来浏览命令历史记录。
  8. 提供基本日志记录功能。
  9. 提供微分辨率的计时功能。
  10. 通过 Perl 脚本 支持自动版本控制。

框架详情

该框架包含三个主要部分:引擎命令表实用程序。接下来的段落将简要讨论它们。更多详细信息以及一些示例代码可在您下载的源代码附带的 用户手册 中找到。

1. 引擎

引擎是负责两部分代码:提供用户界面执行您在命令行上输入的命令。关于用户界面,没有什么可说的:有一个默认标题和一个命令提示符(参见 look.h)。两者都可以由框架用户更改。

引擎支持两种执行命令的方式。首先,您可以启动控制台应用程序,在命令行上输入一个命令,然后按 Enter 键。结果将显示在控制台窗口内。但是,您也可以从脚本或批处理文件中调用控制台应用程序。

2. 命令表

命令表(参见 commandTable.h)是您添加要在命令行上输入的新命令的地方。将条目添加到表中很容易:复制/粘贴现有的 CMD_ENTRY 并更新其各个字段。每个条目有四个字段

  1. 命令名称:您必须在命令行上键入的名称才能执行该命令。
  2. 参数:(TRUE/FALSE) 指示该命令是否带参数。
  3. 函数地址:指向将用于执行命令的函数的引用。
  4. 注释:当执行“?”命令时显示的某些说明。
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.hcommands.cpp 文件来完成此操作。

3. 实用程序

在实现您自己的命令时,您会经常发现自己一遍又一遍地实现相同的功能。因此,该框架提供了一组常用的实用程序函数。目前有三个主要组:计时函数日志记录函数解析函数。计时和日志记录函数的使用不言而喻。解析函数在分析您在命令行上输入的命令参数时非常有用。更多信息请参见用户手册

历史

  • 2005 年 7 月 8 日,版本 2.0.0,首次 CodeProject 发布。
© . All rights reserved.