如何将按钮连接到xpce / prolog中的函数

时间:2012-12-21 16:22:36

标签: user-interface swi-prolog xpce

这是一个按钮:

new(B,button(solve, message(@prolog, solve))),
    send(D,display,B),
    send(D, open),

这是一个功能:

solve(D, Row, Column) :-
    assert(path([[0, 0], [-1, 0]])),
    track(Row, Column),
    path(P),
    show_track(D,P).

我该怎么办?

1 个答案:

答案 0 :(得分:1)

以下是一个让您入门的示例:

:- use_module(library(pce)).

test:-
    new(D, dialog),
    new(W,  window('Test', size(100, 100))),
    send(D, append, new(B,button(solve, message(@prolog, solve, D, 10, 20)))),
    send(D, below, W),
    send(D, open),
    !.

solve(D, Row, Column) :-
  writeln(solve(D, Row, Column)).

基本上你必须在消息中添加参数,在这种情况下,我使用D作为对话框,使用常量10和20作为行和列,然后在solve/3过程中将它们打印到控制台。 / p>