hodza/BlackBox.Shkola.2014 huggingface dataset:
Std/Docu/ru/MenuTool.odc

StdMenuTool
ENGLISH
Редакция перевода: Ф.В.Ткачев, 2010-10-24

DEFINITION StdMenuTool;

	IMPORT TextModels;

	PROCEDURE UpdateFromText (text: TextModels.Model);
	PROCEDURE UpdateMenus;
	PROCEDURE UpdateAllMenus;
	PROCEDURE ListAllMenus;
	PROCEDURE ThisMenu;

END StdMenuTool.


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

Типичные пункты меню:
MENU
	"&Menus"	""	"StdCmds.OpenDoc('System/Rsrc/Menus')"	""
	"&All Menus"	""	"StdMenuTool.ListAllMenus"	""
	"&Update Menus"	""	"StdMenuTool.UpdateMenus"	"TextCmds.FocusGuard"
	"U&pdate All Menus"	""	"StdMenuTool.UpdateAllMenus"	""
END


PROCEDURE UpdateFromText (text: TextModels.Model)
Очищает все меню и строит новую строку меню в соответствии со спецификацией в параметре text.

PROCEDURE UpdateMenus
Охрана: TextCmds.FocusGuard
Очищает все меню и строит новую строку меню в соответствии со спецификацией в тексте, находящемся в фокусе

PROCEDURE UpdateAllMenus
Очищает все меню и строит новую строку меню в соответствии со спецификацией в документе System/Rsrc/Menus.

PROCEDURE ListAllMenus
Строит текст с гиперссылками на все доступные тексты конфигурации меню, то есть к текстам /Rsrc/Menus всех подсистем.

PROCEDURE ThisMenu
Для внутреннего использования (в гиперссылках инструкций INCLUDE).
Std/Docu/ru/Stamps.odc

StdStamps
ENGLISH
Редакция перевода: Ф.В.Ткачев, 2010-10-31

DEFINITION StdStamps;

	PROCEDURE Deposit;

	...plus some other items used internally...

END StdStamps.


Вьюшки-штампы показывают дату, когда документ, содержащий такой штамп, был сохранен в последний раз.


PROCEDURE Deposit
Deposit command for standard stamps.
Команда постановки новой стандартной вьюшки-штампа в глобальную очередь (для последующей вставки в документ).

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

Клик по вьюшке-штампу показывает историю сохранений документа. 
Клик при нажатой клавише-модификаторе открывает диалоговое окно, в котором можно редактировать комментарий для текущей сессии.
Std/Docu/ru/Sys-Map.odc

Карта подсистемы Std
ENGLISH
Редакция перевода: Ф.В.Ткачев, 2010-10-31

StdApi 	API для StdCmds
StdClocks	аналоговые часы
StdCmds	команды стандартных меню
StdCoder	кодировщик ASCII
StdDebug	минимальный отладчик
StdFolds	складки
StdHeaders 	верхние / нижние колонтитулы
StdLinks	гиперссылки
StdLog	стандартный вывод
StdMenuTool	инструменты меню
StdStamps	штампы
StdTables 	элемент управления Таблица
StdTabViews 	объекты закладок
StdViewSizer 	установка размера вьюшки

StdETHConv 	конвертер ETH OberonV4
StdInterpreter 	служба интерпретатора
StdScrollers 	полосы прокрутки
Std/Docu/ru/ViewSizer.odc

StdViewSizer
ENGLISH
Редакция перевода: Ф.В.Ткачев, 2010-10-31

DEFINITION StdViewSizer;

	IMPORT Dialog;

	VAR
		size: RECORD 
			typeName-: Dialog.String;
			w, h: REAL
		END;

	PROCEDURE InitDialog;
	PROCEDURE SetViewSize;
	PROCEDURE SizeGuard (VAR par: Dialog.Par);
	PROCEDURE UnitGuard (VAR par: Dialog.Par);

END StdViewSizer.


StdViewSizer  это пакет команд, позволяющий пользователю изменять размер объектов отрисовки (вьюшек), содержащихся в контейнерах, указывая ширину и высоту в численном виде. Это полезно в тех случаях, когда манипулирование границ вьюшки мышью не дает требуемой точности. Пакет может работать с любой вьюшкой-одиночкой (singleton).

Для пункта меню рекомендуется следующая строка:

"View Size..."	""	"StdViewSizer.InitDialog; StdCmds.OpenToolDialog('Std/Rsrc/ViewSizer', 'View Size')"	"StdCmds.SingletonGuard"


VAR size: RECORD
Интерактор для установки размера отображения.

typeName-: Dialog.String
Тип текущей вьюшки-одиночки.

w: INTEGER
Ширина вьюшки в сантиметрах или дюймах, в зависимости от Dialog.metricSystem.

h: INTEGER
Высота вьюшки в сантиметрах или дюймах, в зависимости от Dialog.metricSystem.


PROCEDURE InitDialog
Команда инициализации для интерактора size.

PROCEDURE SetViewSize
Применяет значения размеров из size. Чтобы связать size с выделенной вьюшкой, нужно предварительно вызвать InitDialog.

PROCEDURE SizeGuard (VAR par: Dialog.Par)
Охрана, которая гарантирует, что интерактор size соответствует текущей выделенной вьюшке-одиночке. Если таковой нет, то охрана обеспечивает деактивацию (пункта меню и т.п.).

PROCEDURE UnitGuard (VAR par: Dialog.Par)
Охрана, которая устанавливает par.label в "cm" или "inch" соответственно, в зависимости от значения Dialog.metricSystem.
System/Docu/Config.odc

Config

DEFINITION Config;

	PROCEDURE Setup;

END Config.


BlackBox attempts to call the command Config.Setup during start-up. The call allows to customize the configuration of BlackBox. Module Config is provided in source form and can be changed by the programmer arbitrarily. The default implementation looks like this:

	MODULE Config;

		IMPORT Dialog;

		PROCEDURE Setup*;
			VAR res: INTEGER;
		BEGIN

			(* ... various file and clipboard converters are installed here ... *)

			Dialog.Call("StdLog.Open", "", res)
		END Setup;

	END Config.

This configuration causes the log window to be opened upon startup. The command is called after the complete BlackBox library, framework, and standard subsystems are loaded. Config may import any BlackBox module. If it isn't needed, module Config can be deleted.

CurrentConfiguration


PROCEDURE Setup
This procedure can be implemented in order to customize the initial BlackBox configuration after start-up. It is called after all standard services and menus have been installed.
Implementing Setup is optional.
Example for the implementation of Config.Setup:

	PROCEDURE Setup*;
		VAR res: INTEGER;
	BEGIN
		Dialog.Call("StdCmds.OpenAuxDialog('System/Rsrc/About', 'Splash Screen')", "", res)
	END Setup;

If Config.Setup need not be implemented, the module (in particular its code file) may be deleted entirely.


Note that similar to Config, there may (but need not) be a module Startup with a command Setup. It has a similar purpose as Config, but is called before the higher levels (text subsystem, form subsystem, etc.) are loaded. Consequently, Startup may not import the higher levels of BlackBox. Normally, Startup does not exist. It is only used under special circumstances, e.g., to overwrite the variable Dialog.appName.
System/Docu/In.odc

In

DEFINITION In;

	VAR Done-: BOOLEAN;

	PROCEDURE Open;
	PROCEDURE Char (OUT ch: CHAR);
	PROCEDURE Int (OUT i: INTEGER);
	PROCEDURE LongInt (OUT l: LONGINT);
	PROCEDURE Real (OUT x: REAL);
	PROCEDURE Name (OUT name: ARRAY OF CHAR);
	PROCEDURE String (OUT str: ARRAY OF CHAR);

END In.


This module is provided for compatibility with the book "Programming in Oberon" by Reiser/Wirth. It is useful when learning the language. It is not recommended for use in production programs.


VAR Done
This variable indicates whether the most recent input operation has succeeded. It is set to TRUE by a successful Open, and set to FALSE by the first unsuccessful input operation. Once set to FALSE, it remains FALSE until the next Open.

PROCEDURE Open
This procedure opens the input stream. In BlackBox, the input stream is opened onto the target focus' text. If there is no target focus, or if it doesn't contain text, Done is set to FALSE. If there is a target focus containing text, the input stream is connected to the beginning of the text if there is no selection, otherwise to the beginning of the selection.

Post
Done
	input stream was opened successfully
~Done
	input stream couldn't be opened

PROCEDURE Char (OUT ch: CHAR)
If Done holds, this procedure attempts to read a character, otherwise it does nothing.

Post
Done
	ch has been read
~Done
	no character could be read

PROCEDURE Int (OUT i: INTEGER)
If Done holds, this procedure attempts to read an integer, otherwise it does nothing.

Post
Done
	i has been read
~Done
	no integer could be read

PROCEDURE LongInt (OUT l: LONGINT)
If Done holds, this procedure attempts to read a long integer, otherwise it does nothing.

Post
Done
	l has been read
~Done
	no long integer could be read

PROCEDURE Real (OUT x: REAL)
If Done holds, this procedure attempts to read a real number, otherwise it does nothing.

Post
Done
	x has been read
~Done
	no real number could be read

PROCEDURE Name (OUT name: ARRAY OF CHAR)
If Done holds, this procedure attempts to read a name, otherwise it does nothing. A name is a sequence of legal Component Pascal identifiers concatenated by periods, e.g., "Dialog.Beep".

Post
Done
	x has been read
~Done
	no name could be read

PROCEDURE String (OUT str: ARRAY OF CHAR)
If Done holds, this procedure attempts to read a string, otherwise it does nothing. A string is a sequence of characters delimited by white space (i.e., blanks, carriage returns, tabulators) or by double quotes (").

Post
Done
	str has been read
~Done
	no string could be read
System/Docu/Out.odc

Out

DEFINITION Out;

	PROCEDURE Open;
	PROCEDURE Char (ch: CHAR);
	PROCEDURE Ln;
	PROCEDURE Int (i: LONGINT; n: INTEGER);
	PROCEDURE Real (x: REAL; n: INTEGER);
	PROCEDURE String (str: ARRAY OF CHAR);

END Out.


This module is provided for compatibility with the book "Programming in Oberon" by Reiser/Wirth. It is useful when learning the language. It is not recommended for use in production programs.


PROCEDURE Open
Brings open log window to the top. If no log window is open, a new one is opened.

PROCEDURE Char (ch: CHAR)
Writes a character into the log.

PROCEDURE Ln
Writes a carriage return into the log.

PROCEDURE Int (i: LONGINT; n: INTEGER)
Writes an integer number into the log, with n digits. If n is too small (e.g., 0) to represent the number correctly, the necessary minimal number of digits is used.

PROCEDURE Real (x: REAL; n: INTEGER)
Writes a real number into the log, with n digits. If n is too small (e.g., 0) to represent the number correctly, the necessary minimal number of digits is used.

PROCEDURE String (str: ARRAY OF CHAR)
Writes a string into the log.
System/Docu/Sys-Map.odc

Map to the BlackBox Core

Miscellaneous

		Config
	In	Out	XYplane

BlackBox Component Framework

	Containers		Controls
		Properties
		Controllers	Printing
		Views
	Converters	Models	Ports
	Stores		Fonts

BlackBox Component Library
	Integers
	Files	Dialog
	Math	Strings	Dates
	Services		Meta
System/Docu/XYplane.odc

XYplane

DEFINITION XYplane;

	CONST erase = 0; draw = 1;

	VAR X, Y, W, H: INTEGER;

	PROCEDURE Open;
	PROCEDURE Dot (x, y, mode: INTEGER);
	PROCEDURE IsDot (x, y: INTEGER): BOOLEAN;
	PROCEDURE ReadKey (): CHAR;
	PROCEDURE Clear;

END XYplane.


This module is provided for compatibility with the book "Programming in Oberon" by Reiser/Wirth. It is useful when learning the language. It is not recommended for use in production programs.


CONST erase
This value can be passed to parameter mode in procedure Dot. It indicates that a white dot should be placed at the given coordinates.

CONST draw
This value can be passed to parameter mode in procedure Dot. It indicates that a black dot should be placed at the given coordinates.


VAR X, Y, W, H
These values define the rectangle in which drawing occurs. (X, Y) is the lower-left corner of the rectangle, (W, H) its size. In BlackBox, (X, Y) is always (0, 0). Unlike the port model of BlackBox, XYplane has its origin at the lower-left corner of the drawing area, and positive Y values above the origin.


PROCEDURE Open
Opens a new window for drawing. The window's contents is cleared to white.

PROCEDURE Dot (x, y, mode: INTEGER)
Draws a white dot (mode = erase) or a black dot (mode = draw).

PROCEDURE IsDot (x, y: INTEGER): BOOLEAN
Returns whether the dot at (x, y) is white (FALSE) or black (TRUE).

PROCEDURE ReadKey (): CHAR
If a key has been pressed, it is returned as result. Otherwise, 0X is returned.

PROCEDURE Clear
Erases the whole drawing area (setting it to white).
System/Docu/ru/Config.odc

Config

DEFINITION Config;

	PROCEDURE Setup;

END Config.


BlackBox пытается выполнить команду Config.Setup при запуске. Вызов позволяет настроить конфигурацию BlackBox. Модуль Config предоставляется в исходном тексте и может быть изменен программистом произвольным образом. Реализация по умолчанию выглядит так:

	MODULE Config;

		IMPORT Dialog;

		PROCEDURE Setup*;
			VAR res: INTEGER;
		BEGIN

			(* ... здесь устанавливаются различные конвертеры файлов и буфера обмена ... *)

			Dialog.Call("StdLog.Open", "", res)
		END Setup;

	END Config.

Эта конфигурация при запуске открывает окно рабочего журнала. Команда вызывается после полной загрузки библиотек, среды и стандартных подсистем BlackBox. Config может импортировать любой модуль BlackBox. Если необходимо, модуль Config можно удалить.

Текущаяконфигурация

Заметим, что подобно модулю Config может присутствовать (а может и нет) модуль Startup с командой Setup. Он служит для похожих целей, но вызывается перед загрузкой верхних уровней (подсистемы текста, форм и т.д.). Следовательно, Startup не может импортировать модули верхнего уровня BlackBox. Обычно модуля Startup не существует. Он используется при особых обстоятельствах, например, для перезаписи переменной Dialog.appName.

PROCEDURE Setup
Процедура может быть реализована в целях настройки начальной конфигурации BlackBox после запуска. Она вызывается после установки стандартных служб и меню.
Реализация Setup необязательна.
Пример реализации Setup:

	PROCEDURE Setup*;
		VAR res: INTEGER;
	BEGIN
		Dialog.Call("StdCmds.OpenAuxDialog('System/Rsrc/About', 'Splash Screen')", "", res)
	END Setup;

Если процедура Setup не реализована, модуль (конкретно, его кодовый файл) может быть полностью удален.
System/Docu/ru/In.odc

In

DEFINITION In;

	VAR Done-: BOOLEAN;

	PROCEDURE Open;
	PROCEDURE Char (OUT ch: CHAR);
	PROCEDURE Int (OUT i: INTEGER);
	PROCEDURE LongInt (OUT l: LONGINT);
	PROCEDURE Real (OUT x: REAL);
	PROCEDURE Name (OUT name: ARRAY OF CHAR);
	PROCEDURE String (OUT str: ARRAY OF CHAR);

END In.


Модуль предоставлен для совместимости с книгой "Программирование на Обероне" Рейзера/Вирта ("Programming in Oberon" by Reiser/Wirth). Это полезно для изучения языка. Не рекомендуется использовать в промышленных программах.
(Более удобная и исправленная реализация дана в модуле i21sysIn, входящем в конфигурации Блэкбокса от Информатики-21. Модуль i21sysIn и рекомендуется использовать в учебных примерах или при интерактивной работе, например, со статистическими данными и т.п.  прим. ред.)

VAR Done
Эта переменная показывает, когда самая последняя операция ввода была успешной. Она устанавливается в TRUE при успешном вызове Open, и устанавливается в FALSE первой неуспешной операцией ввода. Однажды установленная в FALSE, она сохраняет это значение до следующего вызова Open.

PROCEDURE Open
Эта процедура открывает поток ввода. В BlackBox поток ввода открывается на фокусированном тексте. Если нет фокуса или он не содержит текст, Done устанавливается в FALSE. Если есть фокус, содержащий текст, поток ввода подключается к началу текста, если нет выделения, иначе - к началу выделения.

Постусловие
Done
	поток ввода успешно открыт
~Done
	поток ввода не был открыт

PROCEDURE Char (OUT ch: CHAR)
Если Done, эта процедура позволяет считать символ, иначе она ничего не делает.

Постусловие
Done
	ch был прочитан
~Done
	нет символа для чтения

PROCEDURE Int (OUT i: INTEGER)
Если Done, эта процедура позволяет считать целое число, иначе она ничего не делает.

Постусловие
Done
	i было прочитано
~Done
	нет целого числа для чтения

PROCEDURE LongInt (OUT l: LONGINT)
Если Done, эта процедура позволяет считать длинное целое, иначе она ничего не делает.

Постусловие
Done
	l было прочитано
~Done
	нет длинного целого числа для чтения

PROCEDURE Real (OUT x: REAL)
Если Done, эта процедура позволяет считать действительное число, иначе она ничего не делает.

Постусловие
Done
	x было прочитано
~Done
	нет действительного числа для чтения

PROCEDURE Name (OUT name: ARRAY OF CHAR)
Если Done, эта процедура позволяет считать имя, иначе она ничего не делает. Имя - это последовательность допустимых идентификаторов языка Компонентный Паскаль, соединенных точками, например, "Dialog.Beep".

Постусловие
Done
	x было прочитано
~Done
	нет имени для чтения

PROCEDURE String (OUT str: ARRAY OF CHAR)
Если Done, эта процедура позволяет считать строку, иначе она ничего не делает. Строка - это последовательность символов, ограниченная пространством (например, пробелом, возвратом каретки, табуляцией) или двойными кавычками (").

Постусловие
Done
	str была прочитана
~Done
	нет строки для чтения
System/Docu/ru/National.odc

National

DEFINITION National;

	PROCEDURE Cap (ch: CHAR): CHAR;
	PROCEDURE ConvertFromUnicode (ch: CHAR): CHAR;
	PROCEDURE ConvertToUnicode (ch: CHAR): CHAR;
	PROCEDURE IsCap (ch: CHAR): BOOLEAN;
	PROCEDURE IsFirstIdentChar (ch: CHAR): BOOLEAN;
	PROCEDURE IsIdentChar (ch: CHAR): BOOLEAN;
	PROCEDURE Low (ch: CHAR): CHAR;

END National.

Модуль инкапсулирует "знание" о литерах, допустимых в идентификаторах языка Компонентный Паскаль (см. Сообщениеоязыке, раздел3.Словарьиизображение), чем обеспечивается возможность использовать в идентификаторах буквы национального алфавита в дополнение к стандартной латинице. 
Любой национальный алфавит имеет однозначное представление в кодировке Unicode, однако Компонентный Паскаль использует только литеры расширенного ASCII (числовые коды до 255). Поэтому для дополнительных (национальных) букв должна быть выбрана (и "зашита" в данный модуль) некоторая их кодировка в верхней половине расширенного ASCII (коды от 128 до 255). При этом модуль должен обеспечивать также и преобразование литер из Уникода в расширенный ASCII и обратно.

В настоящее время модуль поддерживает полный русский алфавит в кодировке Win-1251.

Во всех случаях, кроме процедур ConvertFromUnicode и ConvertToUnicode, речь о литерах из расширенного ASCII в выбранной кодировке.

PROCEDURE IsCap (ch: CHAR): BOOLEAN;
Проверяет, является ли ch заглавной буквой латинского или национального алфавита.

PROCEDURE Cap (ch: CHAR): CHAR;
Возвращает заглавную букву, соответствующую ch.

PROCEDURE Low (ch: CHAR): CHAR;
Возвращает строчную букву, соответствующую ch.

PROCEDURE IsFirstIdentChar (ch: CHAR): BOOLEAN;
Проверяет, является ли ch допустимой первой буквой идентификатора.

PROCEDURE IsIdentChar (ch: CHAR): BOOLEAN;
Проверяет, является ли ch допустимой буквой идентификатора.

PROCEDURE IsUnicodeNational (ch : CHAR): BOOLEAN;
Проверяет, является ли ch буквой национального алфавита из Unicode-диапазона (т.е. с кодом выше 255).

PROCEDURE ConvertFromUnicode (ch: CHAR): CHAR;
Отображает буквы национального алфавита из Unicode-диапазона в соответствующие литеры расширенного ASCII.
Литеры из диапазона [0..255] отображаются сами в себя.

PROCEDURE ConvertToUnicode (ch: CHAR): CHAR;
Отображает литеры национального алфавита из расширенного ASCII в Unicode.
Литеры из диапазонов ниже 128 и выше 256 отображаются сами в себя.
System/Docu/ru/Out.odc

Out

DEFINITION Out;

	PROCEDURE Open;
	PROCEDURE Char (ch: CHAR);
	PROCEDURE Ln;
	PROCEDURE Int (i: LONGINT; n: INTEGER);
	PROCEDURE Real (x: REAL; n: INTEGER);
	PROCEDURE String (str: ARRAY OF CHAR);

END Out.


Модуль предоставлен для совместимости с книгой "Программирование на Обероне" Рейзера/Вирта ("Programming in Oberon" by Reiser/Wirth). Это полезно для изучения языка. Не рекомендуется использовать в промышленных программах.


PROCEDURE Open
Перемещает открытое окно рабочего журнала на передний план. Если нет открытого окна журнала, оно создается.

PROCEDURE Char (ch: CHAR)
Выводит символ в рабочий журнал.

PROCEDURE Ln
Выводит в рабочий журнал возврат каретки.

PROCEDURE Int (i: LONGINT; n: INTEGER)
Выводит в рабочий журнал целое число, с n разрядами. Если n слишком мало (например, 0) для правильного представления числа, используются минимально необходимое число разрядов.

PROCEDURE Real (x: REAL; n: INTEGER)
Выводит в рабочий журнал действительное число, с n разрядами. Если n слишком мало (например, 0) для правильного представления числа, используются минимально необходимое число разрядов.

PROCEDURE String (str: ARRAY OF CHAR)
Выводит в рабочий журнал строку.
System/Docu/ru/Sys-Map.odc

Карта ядра BlackBox
ENGLISH

Разное
		Config
	In	Out	XYplane

Компонентная среда BlackBox Component Framework

	Containers		Controls
		Properties
		Controllers	Printing
		Views
	Converters	Models	Ports
	Stores		Fonts

Библиотека компонентов BlackBox Component Library
	Integers
	Files	Dialog
	Math	Strings	Dates
	SMath		Meta
	Services
System/Docu/ru/XYplane.odc

XYplane

DEFINITION XYplane;

	CONST erase = 0; draw = 1;

	VAR X, Y, W, H: INTEGER;

	PROCEDURE Open;
	PROCEDURE Dot (x, y, mode: INTEGER);
	PROCEDURE IsDot (x, y: INTEGER): BOOLEAN;
	PROCEDURE ReadKey (): CHAR;
	PROCEDURE Clear;

END XYplane.


Модуль предоставлен для совместимости с книгой "Программирование на Обероне" Рейзера/Вирта ("Programming in Oberon" by Reiser/Wirth). Это полезно для изучения языка. Не рекомендуется использовать в промышленных программах.


CONST erase
Это значение может быть передано параметром mode в процедуру Dot. Оно указывает, что по указанным координатам следует поместить белую точку.

CONST draw
Это значение может быть передано параметром mode в процедуру Dot. Оно указывает, что по указанным координатам следует поместить черную точку.


VAR X, Y, W, H
Эти значения задают прямоугольник, в котором происходит рисование. (X,Y) - нижняя левая вершина прямоугольника, (W,H) - его размер. В BlackBox (X,Y) всегда (0,0). В отличие от модели Port в BlackBox, XYPlane имеет свое начало в нижнем левом углу области рисования, и положительные значения Y идут вверх.


PROCEDURE Open
Открывает новое окно для рисования. Содержимое окна очищается белым цветом.

PROCEDURE Dot (x, y, mode: INTEGER)
Рисует белую точку (mode=erase) или черную точку (mode=draw).

PROCEDURE IsDot (x, y: INTEGER): BOOLEAN
Возвращает FALSE, если точка (x,y) белая или TRUE, если черная.

PROCEDURE ReadKey (): CHAR
Если была нажата клавиша, она возвращается как результат. Иначе возвращается 0X.

PROCEDURE Clear
Полностью стирает область рисования (заполняет белым цветом).