我最近被分配到端口一个旧的COBOL程序。我已经习惯了Guis,我不明白TUI是如何工作的。我通过Google进行了很多搜索,但找不到东西。

我知道控制台应用程序可以按线输出,但是如何绘制颜色等到终端屏幕?如何绘制所有这些东西?终端是否以某种方式支持它?有标准吗?我真的很困惑。

有帮助吗?

解决方案

可以肯定的是,您的答案会根据平台而变化。有许多不同类型的终端/控制台,对于编写它的许多标准有很多。我已经看到的大多数都使用某种逃生序列(例如:ansi char for dos,ymmv),您在其中发送特殊的逃生char以中断写作,然后您可以移动光标,更改颜色,等等。

如果您是为愚蠢终端写的东西,那么可能会使用类似的东西 https://secure.wikimedia.org/wikipedia/en/wiki/ncurses

其他提示

这种接口的通用术语是“命令行”。与“文本用户界面”相比,您可能会为此做更好的谷歌搜索。

不用担心,有数百个标准可供选择:)

可悲的是,我对基于文本和控制台的应用程序比其较旧的图形窗户更舒服。我害怕太多天了。

我要做的第一件事是从旧数字公司学习一些VT100代码。您可能永远不会在 VT100代码 (可能会建议),但它是控制控制台矩阵的非常好的介绍。

图书馆,例如 诅咒 包装这些控制代码(以及许多其他样式终端代码)并抽象它们,以便用户可以通过自己的终端登录。诸如VT100之类的事情甚至可以进行遥控(本地)打印,我们今天仍在RDP中挣扎。

为了使您变得更糟,IBM系统不使用基于线路或字符的控件,而是基于屏幕和块的协议。例如 32705250 终端协议对于缺乏更好的比较法案,请求响应架构认为http。尽管如此,它们还是有效的真实Pita Imnsho,应该是他们自己的独立问题。

更糟糕的是,将在DOS/Windows世界中编写游戏机应用程序。请使用您的目标开发平台回复。

许可以下: CC-BY-SA归因
scroll top