Использование окон для ввода и вывода

С любым текущим окном работают стандартные предикаты ввода и вывода – readln,readint,readchar - также.

По умолчанию, курсор расположен в верхнем левом углу окна. Используя предикат cursor и помещать курсор в любую позицию текущего окна. Этот предикат имеет вид: cursor (Row_number, Col_number).

Аргументы Row_number и Col_number являются целыми числами, задающими номера строки и столбца, по отношению к верхней строке и крайнему левому столбцу экрана. Строки и столбцы нумеруются, начиная с нуля: предикат cursor(0,0) обеспечивает вывод текста, начиная с верхнего левого угла экрана.

Например, следующие предикаты могут быть использованы для вывода сообщения в центре экрана.

makewindow(1,7,7,"", 1,1, 8,28),

cursor(4,12),

write("Доброе утро!").

Пример 1.

Программа 1. Работа с окнами

Predicates

start

run(integer)

do_sums

set_up_windows

clear_windows

Clauses

start:- set_up_windows, do_sums.

set_up_windows:-

makewindow(l, 7, 7, “”, 0, 0, 25, 80),

makewindow(1, 7, 7, "Left operand", 2, 5, 5, 25),

makewindow(2, 7, 7,"", 2, 35, 5, 10),

nl, write(" PLUS"),

makewindow(2, 7, 7, "Right operand", 2, 50, 5, 25),

makewindow(3, 7, 7, "Gives", 10, 27, 5, 25),

makewindow(4, 7, 7,"", 17, 22, 5, 35).

do_sums:- run(_), clear_windows, do_sums.

run(Z):-

shiftwindow(l),

cursor(2, 1), readint(X),

shiftwindow(2),

cursor(2, 10), readint(Y),

shiftwindow(3), Z=X+Y, cursor(2, 10), write(Z),

shiftwindow(4),

write(" Please press the space bar"),

readchar(_).

Clear_windows:-

shiftwindow(l), clearwindow,

shiftwindow(2), clearwindow,

shiftwindow(3), clearwindow,

shiftwindow(4), clearwindow.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: