| Код | %% An example of external database with two B+trees Domains db_selector = patients name = string diagnosis = string patient = p(name, diagnosis)
Predicates ext_open(bt_selector, bt_selector) ext_close(bt_selector, bt_selector) enter_patients(bt_selector, bt_selector) insert_patient(name, decease, bt_selector, bt_selector) search_patient(bt_selector)
Clauses ext_open(Pt_sel, Dgs_sel):- existfile("Patients.dba"), !, db_open(patients, "Patients.dba", in_file), bt_open(patients, "Pats_Tree", Pt_sel), bt_open(patients, "Dgs_Tree", Dcs_sel). ext_open(Pt_sel, Dcs_sel):- db_create(patients, "Patients.dba", in_file), bt_create(patients, "Pats_Tree", Pt_sel, 8, 4), bt_create(patients, "Dgs_Tree", Dgs_sel, 8, 4). ext_close(Pt_sel, Dgs_sel):- bt_close(patients, Pt_sel), bt_close(patients, Dgs_sel), db_close(patients). enter_patients(Pt_sel, Dgs_sel):- clearwindow, write("Enter a name (Ret to quit): "), readln(Name), Name <> "", write("Enter a diagnosis:"), readln(Dec), insert_patient(Name, Dg, Pt_sel, Dgs_sel), enter_patients(Pt_sel, Dgs_sel). enter_patients(_,_):- clearwindow.
insert_patient(Name, Dg, Pt_sel, Dgs_sel):- chain_inserta(patients, pat_chain, patient, p(Name, Dec), Ref), key_insert(patients, Pt_sel, Name, Ref), key_insert(patients, Dgs_sel, Dg, Ref). search_patient(Pt_sel):- clearwindow, write("Enter a name to look up(Ret to quit): "), readln(Nm), Nm <> "", Name = "Smith", key_search(patients, Pt_sel, Name, Ref ), ref_term(patients, patient, Ref, p(Name, Dec)), write(Name, Dg), nl,!, key_search(patients,Pt_sel,Name,Ref1), ref_term(patients, patient, Ref1, p(Name, Dg)), write(Name, Dec), nl,fail. search_patient(_).
Goal makewindow(1,2,3, "Patients DataBase", 0,0,25,80), ext_open(Pt_sel, Dcs_sel), enter_patients(Pt_sel, Dgs_sel), search_patient(Pt_sel), ext_close(Pt_sel, Dgs_sel).
|
Почему собственно не компилируется. Не могу понять, помогите. |