Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
User interface turboprolog应用程序的GUI_User Interface_Prolog_Turbo Prolog - Fatal编程技术网

User interface turboprolog应用程序的GUI

User interface turboprolog应用程序的GUI,user-interface,prolog,turbo-prolog,User Interface,Prolog,Turbo Prolog,我有一个大学作业,我的目标是为用Turbo Prolog创建的专家系统创建GUI。有什么常见的方法可以做到这一点吗?或者有没有一种方法,例如,Java应用程序可以调用Prolog应用程序并导入其结果?还是应该将应用程序移植到Visual Prolog?提前感谢。好吧,有一个非常好的,但我不能100%确定您是否能够在Turbo Prolog中使用它,或者您必须进行一些修改;然而,由于移植不是不可能的,我想您可以使用它 是关于XPCE的非常有用(imho)的常见问题解答/指南 swi prolog页

我有一个大学作业,我的目标是为用Turbo Prolog创建的专家系统创建GUI。有什么常见的方法可以做到这一点吗?或者有没有一种方法,例如,Java应用程序可以调用Prolog应用程序并导入其结果?还是应该将应用程序移植到Visual Prolog?提前感谢。

好吧,有一个非常好的,但我不能100%确定您是否能够在Turbo Prolog中使用它,或者您必须进行一些修改;然而,由于移植不是不可能的,我想您可以使用它

是关于XPCE的非常有用(imho)的常见问题解答/指南

swi prolog页面中关于以下内容的一些其他选项:

直接访问图形API 传统上,Prolog社区中的人们围绕他们系统的本机(C)API编写Prolog包装。Xwip是一个 这类用于Prolog的GUI方法的重要示例。问题是 这些API中的大多数都是相当低级的,需要做大量的工作 需要正确自然地获取API的数据类型 用Prolog表示。外部图形用户界面语言 更好、更流行的方法是使用为GUI开发设计的外部语言。最受欢迎的候选者是Tk/Tcl、JPL/Java、, visualbasic和Delphi。Prolog通过以下方式连接到这些系统: 管道、嵌入或其他合适的通信机制。使用 XPCE star.gif XPCE从一开始就是为Prolog中的GUI开发而开发的。XPCE有一个动态类型的面向对象内核。方法 可以用任何语言定义。XPCE预定义了大量 类,以数据表示和图形为目标。这个 图形库允许对界面进行抽象描述 组件,可移植到Win32和Unix/X11

使用XPCE,可以完全编写交互式Prolog应用程序 在序言中。XPCE可用于对象的(空间)高效存储 以及应用程序的面向对象结构。从XPCE-5开始, 本机Prolog数据可以通过定义XPCE/Prolog来传递和存储 上课

使用Turbo Prolog的GUI的“本机”方法是基于DOS的。此库本身与MS Windows不兼容,但您没有指明此应用程序的目标操作系统

如果您的目标是Windows,并且希望使用BGI图形,那么您可能会发现这是可用的

如果您以前从未在Turbo Prolog中使用过BGI调用,那么升级到PDC可能会很有吸引力,PDC在当前版本的MS Windows中保持了这一功能。用户界面的构建块在VisualPrologIDE中非常方便

添加:我曾经构建了一个仓库/物流系统的图形原型,使用Turbo Prolog和BGI调用显示特定项目在仓库地板上的位置。我想,这是可以为你的“大学作业”做的。与为Java编写调用Turbo Prolog的方法相比,工作更少,尽管有几个Prolog实现要么与Java接口,要么用Java编写。例如,它是免费的、开源的

从turboprolog转换为isoprolog并不难,除非您使用的是外部数据库或turboprolog固有的其他特性。基本上,您只需要去掉turboprolog特有的域和谓词声明,就可以在各种isoprolog实现下进行测试和运行。如果您的专家系统确实使用外部数据库,您会发现将其转换为使用consult/1和/或assertz/1动态填充的内部数据库(事实子句)很有吸引力