menux
esempio per provare inserimento
legenda e parametri da passare a menu.pro per creazione menu
in programmi di vario tipo
/* menux.pro */
nowarnings
domains
include "menu.pro"
predicates fine pulisci finestra elabora1(integer) elabora2(integer) termine1(integer) termine2(integer) scelta(integer) scelta1(integer) scelta2(integer) elabora(integer) azione1 azione2 azione finestra1 termine(integer) goal finestra,azione.
clauses finestra:- makewindow(1,112,7,"finestra",1,1,17,75), makewindow(2,112,1,"scheda",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,[opzione1, opzione2,opzione3, fine],Scelta), elabora(Scelta), termine(Scelta),!. elabora(0). elabora(1):-Scelta(1). elabora(2):-Scelta(2). elabora(3):-Scelta(3). termine(4). termine(0). Scelta(1):-azione1. Scelta(2):-azione2. Scelta(4):-fine.
azione1:- clearwindow, menu(2,30,[opzione1, 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("opzione1\n"), pulisci, azione1. scelta1(2):-write("ritorno a menu principale\n"), azione.
azione2:- clearwindow, menu(5,50,[opzione2, 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("opzione2\n"), pulisci, beep,azione2. scelta2(2):-write("ritorno a menu principale\n "), beep,azione.
fine:- clearwindow, write("fine prove\n"),beep.