代码之家  ›  专栏  ›  技术社区  ›  Suliman

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

tui d
  •  2
  • Suliman  · 技术社区  · 11 年前

    我想用D语言编写一个带有文本UI的控制台应用程序。有没有其他跨平台的选择?

    2 回复  |  直到 11 年前
        1
  •  3
  •   Adam D. Ruppe    11 年前

    我的终端.d可以作为TUI图书馆的基础。

    https://github.com/adamdruppe/arsd/blob/master/terminal.d

    它没有必需的依赖关系,因此您只需下载一个文件并开始构建 dmd yourfile.d terminal.d 。下面是一个获取输入的示例程序: http://arsdnet.net/dcode/book/chapter_12/07/input.d

    您也可以使用 terminal.moveTo(x, y); terminal.color(Color.green, Color.black); terminal.writef("something"); terminal.flush(); 这样可以移动和绘制。

    寻找 version(Demo) 在终端.d本身 main 它处理各种输入事件,包括鼠标事件。

    而terminal.d主要提供低级功能(其主要高级功能是 terminal.getline ,适用于基于行的应用程序,但不适用于TUI),它应该为编写一个小的文本控件库提供所需的所有基础。

    我想可能有人做过一次,但我不记得在哪里。

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

        2
  •  1
  •   DejanLekic    11 年前

    这是很久以前的事了。然而 ncurses 众所周知,它在Windows上也能很好地工作。在Windows上构建它的最简单方法是在 MSYS2 壳除了Curses,真的没有其他跨平台的替代方案(找出他们为什么将项目命名为“Curses”,你会发现为什么没有好的替代方案)。

    推荐文章