用于D的TUI(文本用户界面)?

用于D的TUI(文本用户界面)?,d,tui,D,Tui,我想用D写一个带有文本UI的控制台应用程序。我看过诅咒,但它似乎只在unix上工作。有没有跨平台的替代方案?很久以前是这样的。然而,ncurses在Windows上也能很好地工作。在Windows上构建它的最简单方法是在shell中。真的没有其他跨平台的诅咒替代方法(找出他们为什么命名这个项目“诅咒”),你会发现为什么没有好的选择。我的终端。D可以用作TUI库的基础。< /P> 它没有必需的依赖项,因此您只需下载一个文件,然后使用dmd yourfile.d terminal.d开始构建。下面

我想用D写一个带有文本UI的控制台应用程序。我看过诅咒,但它似乎只在unix上工作。有没有跨平台的替代方案?

很久以前是这样的。然而,
ncurses
在Windows上也能很好地工作。在Windows上构建它的最简单方法是在shell中。真的没有其他跨平台的诅咒替代方法(找出他们为什么命名这个项目“诅咒”),你会发现为什么没有好的选择。

我的终端。D可以用作TUI库的基础。< /P>

它没有必需的依赖项,因此您只需下载一个文件,然后使用
dmd yourfile.d terminal.d
开始构建。下面是一个获取输入的示例程序:

您还可以使用
terminal.moveTo(x,y);终端。颜色(颜色。绿色,颜色。黑色);terminal.writef(“某物”);terminal.flush()等移动和绘制

在terminal.d中查找
version(Demo)
,查找处理各种输入事件(包括鼠标事件)的
main

P.T.To.D主要提供较低级别的函数(其主要高级函数是Time.GETLION ,非常适合基于行的应用程序,而不是TUI),它应该给出编写小文本小部件库所需的所有基础。 我想可能有人做过一次,但我不记得在哪里


terminal.d适用于Windows和Posix系统,适用于最常见的终端,如xterm。ncurses更全面,在更模糊的目标上可能有更少的bug,但是terminal.d作为一个文件,更容易构建。

windows有curses端口。没有什么能在任何地方都绝对有效,但诅咒并不是一个坏的选择。