Компонентный Паскаль/Ввод данных в программу: различия между версиями

Содержимое удалено Содержимое добавлено
Нет описания правки
Строка 6:
В БлэкБоксе определено множество подсистем и модулей, и модуль "In" как раз предназначен для ввода информации. Более того, на самом деле этот модуль лишь побочный продукт -- он обеспечивает возможность исполнения примеров книги написанной Никлаусом Виртом в соавторстве с Райзером "Программирование на Обероне" (родственный язык КП).
Какие определены переменные и структуры в модуле In:
* VAR Done-: BOOLEAN; единственная доступная переменная, доступнаядоступна только для чтения ("Done-"). Устанавливается в значение TRUE при открытии ''потока на чтение''. И устанавливается в FALSE при первом неудачном чтении входного потока, и остаётся в этом значении до момента повторного открытия ''потока на чтение''.
* PROCEDURE Open. Эта процедура открывает входной поток. В BlackBox, входной поток открывается на ту точку, которая в фокусе ввода содержит тест (например, текст выделен). Если нет точки фокуса ввода, или если он не содержит текста переменная Done устанавливается в FALSE. Если есть цель фокусировки, содержащая текст, но при этом ничего не выбрано, входной поток соединяется с началом этого текста, в противном случае ввод начинается с начала выделения.
 
* PROCEDURE Char (OUT ch: CHAR). Если переменная Done удерживается в TRUE, эта процедура пытается считать символ, в противном случае она ничего не делает.
*
 
{{BookCat}}