SCREEN.PRO



% ---------------------------------------------------------------------------
domains
   i  = integer
   st = string
% ---------------------------------------------------------------------------
database - dato
   dato(i,i,i,st)			%% -(ren,col,len,cadena)-

predicates
   inicia(i,i)
   retardo(i)
   subcadena(i,str,str)
   despliega(i,i,i,str)
   actualiza(i,i,i,i,i,i)
% ---------------------------------------------------------------------------
clauses
   inicia:-
   	dato(Ren,Col,Len,Dato),
   	subcadena(Len,Dato,Cadena),
   	despliega(Ren,Col,Len,Cadena),
   	actualiza(Ren,Col,Len,Rout,Cout,Lout),
   	retractall(_,dato), asserta(dato(Rout,Cout,Lout,Dato),dato),
   	readchar(_), retardo(16000), !, inicia.

   retardo(0):-!. retardo(N):-N-1 = N1, retardo(N1).

   subcadena(Len,Dato,Cadena):-
   	frontscr(Len,Dato,Cadena,_), !.
% ---------------------------------------------------------------------------
% ---------------------------------Meta--------------------------------------
goal
   makewindow(1,0,0,"",0,0,25,80),
   retractall(_,dato),
   inicia,
   removewindow().
% ---------------------------------------------------------------------------