Язык программирования Форт



         

Глава 5. Ввод и вывод - часть 9


Для экрана с 80 символами на строке и 25 строками число 1024 должно быть заменено на 2000 SO * 25). (Очевидно, что скорость будет выше, если использовать какие-либо управляющие коды, которые предоставляет компьютер или дисплей, например 12 EMIT в MMSFORTH.)

В гл. 12 и 13, где представлен и рассматривается экранный редактор, вы увидите, как может быть определено слово РТС в других версиях Форта. Со словом РТС связано слово GTC (get_cursor, т.е. определить, где находится курсор). Оно помещает в стек номер строки, затем номер столбца. Приведем пример слова, подобного FILL-IN, которое поместит на экране после курсора 10 пробелов, если это возможно : : 10BLANKS GTC 10 SPACES РТС : (10 пробелов)

Слово GTC выдает положение курсора, 10 SPACES перемещает его на 10 позиций вправо, заполняя пробелами все, что находится на этих местах, и слово РТС снова возвращает курсор на старое место, используя имеющуюся в стеке от GTC информацию о положении курсора. При небольшой изобретательности слова РТС и GTC позволят вам делать впечатляющие и "дружественные" подсказки для ввода в программы ответов пользователя, которому остается только вводить их на месте пробелов. Можно практически обойтись без "перелистывания" экрана, если ввод и вывод информации производить на одном и том же месте экрана.

Чем больше возможностей имеет дисплей компьютера, тем более специализированные слова Форта требуются для использования этих возможностей. MMSFORTH совместно с IBM PC показывают хороший пример того, что может быть сделано, но не будем их здесь описывать, поскольку их много и они очень специфичны. Наиболее сложная возможность - это использование так называемых "окон". Они позволяют выделять на экране различные области, в каждой из которых появляются различные текстовые или графические изображения. Например, результат работы одной программы может быть представлен в основном окне, а меньшее окно может быть выделено для вывода листинга программы при отладке либо в одном окне можно помещать данные, вводимые в программу, а в другом - выходные данные.


Содержание  Назад  Вперед