Шаг 67.
Основы логического программирования.
Использование окон для ввода и вывода

    На этом шаге мы рассмотрим использование окон для ввода и вывода.

    Стандартные предикаты ввода и вывода - read, readint, readchar, write и nl - также работают с любым текущим окном. Это означает, что предикаты ввода и вывода работают с любым окном, которое было сделано текущим при помощи makewindow, gotowindow или shiftwindow.

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

   cursor(<номер строки>,<номер столбца>).

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

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

   makewindow(1,7,7,"",1,1,8,28),
   cursor(4,12),
   write("Отличный день").

    Если опустить предикат cursor, данное сообщение будет выведено, начиная с левого верхнего угла окна. Аргументами предиката cursor могут также быть переменные, которым присваиваются целочисленные значения. Другой формой подцели, размещающей сообщение в центре окна, будет:

   makewindow(1,7,7,"",1,1,8,28),
   Row=4,
   Col=12,
   cursor(Row,Col),
   write("Отличный день").

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

   makewindow(1,7,7,"",1,1,8,28),
   Row=4,
   Col=12,
   cursor(Row,Col), 
   write("Отличный день "), 
   cursor(What_row,What_column).

присвоит переменной What_row значение 4, а переменной What_column - значение 27.

    На следующем шаге мы рассмотрим создание перекрывающихся окон.




Предыдущий шаг Содержание Следующий шаг