/* spiegamenu.pro */ /* da usare con attivazione menu vari */
scrivere programma inserendo informazioni che saranno utilizzate dal programma menu.pro inserito con include "menu.pro":legenda,parametri per finestra menu informazioni da inserire alle righe contenenti vari menu da richiamare
nowarnings
domains
include "menu.pro"
predicates fine pulisci finestra elabora1(integer) elabora2(integer) elabora3(integer) termine1(integer) termine2(integer) termine3(integer) scelta(integer) scelta1(integer) scelta2(integer) scelta3(integer) elabora(integer) azione1 azione2 azione3 azione4 azione5 azione6 azione finestra1 termine(integer) goal finestra,azione.
clauses finestra:- makewindow(1,5,7,"",1,1,17,75), makewindow(2,7,1,"",15,40,5,40).
pulisci:- shiftwindow(2),beep, write("premi ENTER per proseguire"), readchar(_),clearwindow,shiftwindow(1), clearwindow.
finestra1:-shiftwindow(1),clearwindow. azione:- menu(2,40,[opzio1, opzio2,opzio3, opzio4, opzio5, opzio6,fine],Scelta), elabora(Scelta), termine(Scelta),!. elabora(0). elabora(1):-Scelta(1). elabora(2):-Scelta(2). elabora(3):-Scelta(3). elabora(4):-Scelta(4). elabora(5):-Scelta(5). elabora(6):-Scelta(6). termine(7). termine(0). Scelta(1):-azione1. Scelta(2):-azione2. Scelta(3):-azione3. Scelta(4):-azione4. Scelta(5):-azione5. Scelta(6):-azione6. Scelta(7):-fine.
azione1:- clearwindow, menu(2,30,[opzi1, menu_principale],Scelta), elabora1(Scelta), termine1(Scelta),!. elabora1(0). elabora1(1):-scelta1(1). elabora1(2):-scelta1(2). termine1(2). termine1(0). scelta1(1):- finestra1, write("opzio1\n"), pulisci, azione1. scelta1(2):-write("ritorno a menu principale\n"), azione.
azione2:- clearwindow, menu(5,50,[opzio2, torna_a_menu_principale], Scelta), elabora2(Scelta), termine2(Scelta),!. elabora2(0). elabora2(1):-scelta2(1). elabora2(2):-scelta2(2). termine2(2). termine2(0). scelta2(1):- finestra1, write("opzio2\n"), pulisci, beep,azione2. scelta2(2):-write("ritorno a menu principale\n "), beep,azione.
azione3:- clearwindow, menu(6,40,[opzione3,menu_principale],Scelta), elabora3(Scelta), termine3(Scelta),!. elabora3(0). elabora3(1):-scelta3(1). elabora3(2):-scelta3(2). termine3(2). termine3(0). scelta3(1):- finestra1, write("opzio3 \n"), pulisci, beep,azione3. scelta3(2):-write("torna a menu principale\n"), beep,azione.
azione4:- finestra1, write(" opzio4,menu_principale "),nl, pulisci, beep,azione. azione5:- finestra1, write("opzio5 \n"), pulisci, azione.
azione6:- finestra1, write("opzio6 \n"), pulisci, azione.
fine:- clearwindow, write("fine prove\n"),beep.