|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Étudiant Inscription : décembre 2012 Messages : 8 ![]() |
Bonjour,
je débute en prolog et j'ai un problème pour lier l'interface que j'ai réalisé en suivant ce tuto : http://jfoutelet.developpez.com/articles/xpce/ Voici mon code : ( j'ai enlevé le code de traitement ) Code :
Or quand je le fait ça m'affiche cette erreur : ERROR: '$c_call_prolog'/0: Undefined procedure: fonctionTraitement/2 ERROR: However, there are definitions for: ERROR: fonctionTraitement/1 Est-ce quelqu'un pourrait m'aider parce je ne vois pas du tout comment faire. |
||
|
|
00
|
|
|
#2 | ||
![]() ![]() Inscription : septembre 2003 Messages : 4 434 ![]() |
Le prédicat fontionTraitement ne prend qu'un argument (d'où l'écriture fontionTraitement /1) alors que tu écris dans la description du dialog
message(@prolog, fonctionTraitement, Text_item?selection, Editor) qui sous entend qu'il y en a deux. Ce que tu peux faire, (attention ce n'est pas testé) : Code :
Dernière chose fonctionTableau n'est pas un bon nom pour Prolog, car Prolog ne connait pas les fonctions (sauf en arithmétique).
__________________
"La haine seule fait des choix" - Koan Zen "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne. Faites du Prolog, ça vous changera les idées ! Ma page Prolog Mes codes sources commentés Mon avatar : Intérieur avec jeune femme de Vilhelm Hammershoi |
||
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Étudiant Inscription : décembre 2012 Messages : 8 ![]() |
Merci pour votre réponse
j'ai tester cela permet de lier les composants En revanche, la formule que je passe dans le inputText se réécrit simplement dans l'éditeur avec un 'O' pour succès et ce avec n'importe quelle formule. Je pense que le traitement ne s'effectue pas ou alors pas complétement j'ai essayé plusieurs choses mais rien n'a faire. Je ne comprend pas vraiment pourquoi le traitement de la formule ne s'effectue pas puisque pour moi c'est indépendant de l'affichage Voici l'intégralité de mon code Code :
Par contre pour l'editor, je vais rajouter un bouton "reset" pour effacer le résultat obtenue à la premiere utilisation et je me demandais comment : Réinitialiser l'editor à vide dans la méthode init ? J'avoue que j'ai du mal avec les prédicat de Prolog. |
||
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : septembre 2003 Messages : 4 434 ![]() |
Pour reintialiser l'éditeur, il faut faire send(Edfitor, clear).
Pour le reste, demain je regarderai.
__________________
"La haine seule fait des choix" - Koan Zen "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne. Faites du Prolog, ça vous changera les idées ! Ma page Prolog Mes codes sources commentés Mon avatar : Intérieur avec jeune femme de Vilhelm Hammershoi |
|
|
00
|
|
|
#5 | |||
![]() ![]() Inscription : septembre 2003 Messages : 4 434 ![]() |
Citation:
Code :
__________________
"La haine seule fait des choix" - Koan Zen "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne. Faites du Prolog, ça vous changera les idées ! Ma page Prolog Mes codes sources commentés Mon avatar : Intérieur avec jeune femme de Vilhelm Hammershoi |
|||
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Étudiant Inscription : décembre 2012 Messages : 8 ![]() |
Je viens de tester avec gtrace a priori la formule est bien traitée par les fonctions et donc le programme devrait afficher le résultat et non la formule passée en argument
En fait je viens de me rendre compte que la formule ne se décompose pas par exemple quand je tape a ^~b =>c le programme ne la coupe pas sous forme d'atom du coup c'est normal que ça me l'affiche comme résultat. Est ce que le problème se situerai au niveau de la déclaration de type du champs inputtext ? Je viens de tester le programme sans l'interface mais avec le gtrace quand je tape la formule a ^~b =>c Je trouve Formule : a ^~b =>c alors qu'avec l'interface j'ai Formule : 'a ^~b =>c' |
|
|
00
|
|
|
#7 | ||
![]() ![]() Inscription : septembre 2003 Messages : 4 434 ![]() |
Essayez en faisant :
Code :
__________________
"La haine seule fait des choix" - Koan Zen "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne. Faites du Prolog, ça vous changera les idées ! Ma page Prolog Mes codes sources commentés Mon avatar : Intérieur avec jeune femme de Vilhelm Hammershoi |
||
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Étudiant Inscription : décembre 2012 Messages : 8 ![]() |
Cela supprime effectivement les quotes et avec le gtrace je vois que ça décompose bien la formule comme pour le fonctionnement normal.
En revanche, plus rien ne s'affiche dans l'editor c'est à n'y rien comprendre |
|
|
00
|
|
|
#9 | ||
![]() ![]() Inscription : septembre 2003 Messages : 4 434 ![]() |
Sans doute parce que le predicat etendreTableau/1 echoue.
Esssayez ce code Code :
__________________
"La haine seule fait des choix" - Koan Zen "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne. Faites du Prolog, ça vous changera les idées ! Ma page Prolog Mes codes sources commentés Mon avatar : Intérieur avec jeune femme de Vilhelm Hammershoi |
||
|
|
00
|
|
|
#10 | ||
|
Invité de passage
![]() Étudiant Inscription : décembre 2012 Messages : 8 ![]() |
Visiblement j'ai une exception dans
Code :
J'ai l'exception : Exception : v: unknown class pour l'une et ^ pour l'autre En fait ca me le fait quelque soit l'opérateur, un problème avec la fonction send. Je devrai changer ce qu'elle envoi ? Avec un prédicat atom_to_term ( si cela existe ) ou quelque chose genre |
||
|
|
00
|
|
|
#11 | ||
![]() ![]() Inscription : septembre 2003 Messages : 4 434 ![]() |
Citation:
C'est le sens de la doc Prolog : term_to_atom(?Term, ?Atom). Cet extrait de la doc SWI explique la signification des codes : Citation:
__________________
"La haine seule fait des choix" - Koan Zen "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne. Faites du Prolog, ça vous changera les idées ! Ma page Prolog Mes codes sources commentés Mon avatar : Intérieur avec jeune femme de Vilhelm Hammershoi |
||
|
|
00
|
|
|
#12 | ||
|
Invité de passage
![]() Étudiant Inscription : décembre 2012 Messages : 8 ![]() |
Je viens d'essayer avec ce code
Code :
Donc cela devrait règle le probleme de l'exception des opérateurs. Cependant avec cela j'ai l'exception suivante : Undefined procedure : atom_to_term/2 pourtant je n'ai pas l'impression de m'être tromper |
||
|
|
00
|
|
|
#13 |
![]() ![]() Inscription : septembre 2003 Messages : 4 434 ![]() |
Non, c'est term_to_atom, pas atom_to_term !
__________________
"La haine seule fait des choix" - Koan Zen "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne. Faites du Prolog, ça vous changera les idées ! Ma page Prolog Mes codes sources commentés Mon avatar : Intérieur avec jeune femme de Vilhelm Hammershoi |
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Étudiant Inscription : décembre 2012 Messages : 8 ![]() |
ah ouai besoin d'un café moi ^^
Du coup ca marche beaucoup mieux |
|
|
00
|
|
|
#15 |
![]() ![]() Inscription : septembre 2003 Messages : 4 434 ![]() |
Ça s'appelle avoir la tête dans le guidon !
__________________
"La haine seule fait des choix" - Koan Zen "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne. Faites du Prolog, ça vous changera les idées ! Ma page Prolog Mes codes sources commentés Mon avatar : Intérieur avec jeune femme de Vilhelm Hammershoi |
|
|
00
|
|
|
#16 |
|
Invité de passage
![]() Étudiant Inscription : décembre 2012 Messages : 8 ![]() |
En tout cas merci pour le temps que vous m'avez consacré
|
|
|
00
|
|
|
#17 |
![]() ![]() Inscription : septembre 2003 Messages : 4 434 ![]() |
Un petit clic sur
?
__________________
"La haine seule fait des choix" - Koan Zen "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne. Faites du Prolog, ça vous changera les idées ! Ma page Prolog Mes codes sources commentés Mon avatar : Intérieur avec jeune femme de Vilhelm Hammershoi |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com