1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
| :- use_module(library(pce)).
:- dynamic system/1.
:- dynamic fault/1.
:- dynamic procedure/1.
:- dynamic tool/1.
%system(moteur).
%system(frein).
%system(carrosserie).
system(moteur) :- fault('fuite carburant').
system(moteur) :- fault('le moteur ne demarre pas').
system(moteur) :- fault('le moteur ne developpe pas la puissance necessaire').
system(frein) :- fault('fuite hydraulique').
system(frein) :- fault('disque frein usé').
system(frein) :- fault('verin bloqué').
system(carrosserie) :- fault('étanchéité').
system(carrosserie) :- fault('corrosion').
procedure(procedure11):-fault('fuite carburant').
procedure(procedure12):-fault('le moteur ne demarre pas').
procedure(procedure13):-fault('le moteur ne developpe pas la puissance necessaire').
procedure(procedure21):-fault('fuite hydraulique').
procedure(procedure22):-fault('disque frein usé').
procedure(procedure23):-fault('verin bloqué').
procedure(procedure31):-fault('etanchieté').
procedure(procedure32):-fault('corrosion').
tool(tool11):-fault('fuite carburant').
tool(tool12):-fault('le moteur ne demarre pas').
tool(tool13):-fault('le moteur ne developpe pas la puissance necessaire').
tool(tool21):-fault('fuite hydraulique').
tool(tool22):-fault('disque frein usé').
tool(tool23):-fault('verin bloqué').
tool(tool31):-fault('etanchieté').
tool(tool32):-fault('corrosion').
%%%%%%%%%%%%%%%
go :- %Creation de la boite de dialogue
new(D, dialog('Menu des Pannes')),
send(D, size, size(500,550)),
%new(Text_A, text_item('mot de recherche', message(@prolog,recherche))),
send(D, display, new(Text_A,text_item), point(10,10)),
send(D, display, new(Ed,editor), point(50,50)),
%creation du bouton
new(Btn_Ta, button(valider, message(@prolog, recherche, Text_A?selection, Ed))),
send(D, display, Btn_Ta, point(100,450)),
new(Btn_Q, button(quitter, message(D, destroy))),
send(D, display, Btn_Q, point(400,450)),
send(D, open).
% recherche:- recherche(Text_A?selection,Ed?load).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% ici je veux que le terme ecrit par l'utilisateur soit pris comme une string puis comparé
% à la phrase ds l'atome du predicat fault pour ecrire les resultats ds un fichier txt puis
% afficher enfin les resultats dans l'editeur de texte!!!( ex : mot de recherche = 'fuite'
% les resultats sont:
% fuite carburant
% fuite hydraulique)
recherche(Selection,Ed) :-
retractall(fault(_)),
send(Ed, clear),
% member(Selection,S),
assert(fault(Selection)),
bagof(Y, system(Y), L),
forall(member(X, L),
( send_list(Ed, append, [X, '\n']))). |
Partager