Как подключить кнопку к функции в xpce/prolog

Это кнопка:

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 ответ

Вот пример, чтобы вы начали:

:- 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 процедура.

Другие вопросы по тегам