我有一个大学任务,我的目标是为在Turbo Prolog中创建的专家系统创建GUI。有没有什么常见的方法可以做到这一点?或者有一种方法,例如,Java应用程序可以调用Prolog应用程序并导入其结果?或者我应该将我的应用程序移植到Visual Prolog?提前谢谢。
答案 0 :(得分:1)
嗯,有XPCE非常好,但我不能100%确定你是否可以在Turbo Prolog中使用它,或者你必须做一些修改;但是,由于移植不是不可能的,我猜你可以使用它。
This是关于XPCE的非常有用的(imho)常见问题/指南
swi-prolog关于graphics的页面中的其他一些选项:
直接访问图形API 传统上,Prolog社区中的人们已经围绕其系统的本地(C)API编写了Prolog包装器。 Xwip是一个 Prolog这类GUI方法的重要例子。问题是 这些API中的大多数都是相当低级的,而且很多工作都是 需要正确而自然地获取API的数据类型 代表Prolog。外部GUI语言 一种更好,更流行的方法是使用专为GUI开发设计的外部语言。热门候选人是Tk / Tcl,JPL / Java, Visual Basic和Delphi。 Prolog使用这些系统连接 管道,嵌入或其他合适的通信机制。运用 XPCE star.gif XPCE是从一开始就在Prolog中开发用于GUI开发的。 XPCE有一个动态类型的面向对象的内核。方法 可以用任何语言定义。 XPCE预定义了大量的 类,旨在数据表示和图形。该 图形库允许接口的抽象描述 组件,可移植到Win32和Unix / X11。
使用XPCE,可以完全编写交互式Prolog应用程序 在Prolog。 XPCE可用于(空间)高效的对象存储 和面向对象的应用程序结构。截至XPCE-5, 本机Prolog数据可以通过XPCE / Prolog定义传递和存储 类。
答案 1 :(得分:0)
使用Turbo Prolog的GUI的“本机”方法是基于DOS的Borland Graphics Interface (BGI)。此库本身与MS Windows不兼容,但您没有指明您使用此应用程序定位的操作系统。
如果您要定位Windows并希望使用BGI图形,那么您可能会发现此Windows-port of BGI可用。
如果您以前从未在Turbo Prolog中使用过BGI呼叫,那么升级到Visual Prolog可能很有吸引力,而PDC维持当前版本的MS Windows。用户界面的构建块非常适合Visual Prolog IDE。
已添加:我曾经构建了仓库/物流系统的图形原型,使用Turbo Prolog和BGI调用显示仓库中特定物品的位置。我认为,这可以用于你的“大学任务”。尽管有几种Prolog实现可以与Java连接或用Java编写,但是为Java调用Turbo Prolog的方法要少。例如,GNU Prolog for Java是免费的开放源代码。
从Turbo Prolog转换为ISO Prolog并不是那么难,除非您使用外部数据库或Turbo Prolog固有的其他功能。基本上你只需要删除Turbo Prolog特有的域和谓词声明,你可能会有一些可以在各种ISO Prolog实现下测试和运行的东西。如果您的专家系统确实使用外部数据库,您会发现转换为使用 consult / 1 和/或 assertz / 1动态填充的内部数据库(事实条款)很有吸引力强>