J'ai créer une fenetre de dialogue avec deux zones textes, je souhaite lier cette fenetre a un fichier prolog de sorte que si l'utilisateur me saisit les valeurs X et Y, j'ajoute la clause suivante à un fichier prolog qui s'appelle query: q(X):-hasinputtypes(X,Y),hasoutputypes(X,Y). Sachant que hasinputtypes et hasoutputtypes sont des prédicats qui se trouve dans ma base de faits (qui se trouve dans un autre fichiers).
J'ai écrit le programme suivant:
J'obtient l'erreur suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 :-dynamic q/1. ask_query :- new(Dialog, dialog('BiOnMap For Resource Discovery')), send_list(Dialog, append, [ new(N1, text_item(resource_input)), new(N2, text_item(resource_output)), button(cancel, message(Dialog, destroy)), button(enter, and(message(@prolog, assert_query, N1?selection, N2?selection), message(Dialog, destroy))) ]), send(Dialog, default_button, enter), send(Dialog, open). assert_query(ResourceInput, ResourceOutput) :-assert((q(X):-hasinputtypes(X,ResourceInput),hasoutputtypes(X,ResourceOutput))),[ResourceInput,ResourceOutput]))),reconsult(semi1),tdb.
ERROR: '$raw_read'/2: Undefined procedure: assert_query/2
MErci bcp de votre aide.
Partager