hodza/BlackBox.Shkola.2014 huggingface dataset:
i21sys/Docu/Edit.odc

i21sysEdit

DEFINITION i21sysEdit;

	PROCEDURE AddHints (lan: ARRAY OF CHAR; name: ARRAY OF CHAR);
	PROCEDURE AddKeywords (lan: ARRAY OF CHAR; name: ARRAY OF CHAR);
	PROCEDURE AddSimples (lan: ARRAY OF CHAR; name: ARRAY OF CHAR);
	PROCEDURE Capitalize;
	PROCEDURE CapitalizeExpand;
	PROCEDURE Init;
	PROCEDURE ShowHints;
	PROCEDURE ShowKeywords;
	PROCEDURE ShowSimples;

END i21sysEdit.

Currently only the Russian version of documentation is available.

Possible menu commands:

MENU "Text" ("TextViews.View")
	"Capitalize"	"*F5"	"i21sysEdit.Capitalize"	"TextCmds.FocusGuard"
	"Capitalize && Expand"	"F5"	"i21sysEdit.CapitalizeExpand"	"TextCmds.FocusGuard"
	"Install Expansions For Ru"	""	"i21sysVocabulary.SetLanguage('ru')"	""
END

--------------
2012-09-18  info21@inr.ac.ru
i21sys/Docu/Files.odc

DEFINITION i21sysFiles;

	IMPORT Files;

	PROCEDURE Copy (f: Files.File; to: Files.Locator; OUT new: Files.File; OUT res: INTEGER);
	PROCEDURE GetDiskLetter (loc: Files.Locator; OUT disk: CHAR);
	PROCEDURE GetFolderName (loc: Files.Locator; OUT name: ARRAY OF CHAR);

END i21sysFiles.
i21sys/Docu/In.odc

i21sysIn

DEFINITION i21sysIn;
	IMPORT TextModels, TextMappers;
	VAR
		done-, Done-: BOOLEAN;
		scanner: TextMappers.Scanner;
	PROCEDURE Char (OUT ch: CHAR);
	PROCEDURE Int (OUT i: INTEGER);
	PROCEDURE LongInt (OUT l: LONGINT);
	PROCEDURE Name (OUT name: ARRAY OF CHAR);
	PROCEDURE Open;
	PROCEDURE OpenCommander;
	PROCEDURE OpenFocus;
	PROCEDURE OpenSelection;
	PROCEDURE OpenText (text: TextModels.Model; beg, end: INTEGER);
	PROCEDURE Real (OUT x: REAL);
	PROCEDURE Restart;
	PROCEDURE String (OUT str: ARRAY OF CHAR);
END i21sysIn.

An enhanced and corrected (Real) replacement for In.
The purpose of enhancements is to better support Oberon's text-as-interface paradigm.

Always: done = Done.

A full description is currently available in the Russian version of this document only.

Author: Fyodor Tkachov, 2009-10-07, 2012-09-21.
i21sys/Docu/Latin1.odc

DEFINITION i21sysLatin1;

	CONST
		HostFontsCHARSET = 0;

	VAR
		charSetName-: ARRAY 64 OF CHAR;

	PROCEDURE Cap (ch: CHAR): CHAR;
	PROCEDURE ExtendedAsciiOf (ch: CHAR): CHAR;
	PROCEDURE IsCap (ch: CHAR): BOOLEAN;
	PROCEDURE IsDigit (ch: CHAR): BOOLEAN;
	PROCEDURE IsFirstIdentChar (ch: CHAR): BOOLEAN;
	PROCEDURE IsIdentChar (ch: CHAR): BOOLEAN;
	PROCEDURE IsLetter (ch: CHAR): BOOLEAN;
	PROCEDURE Lower (ch: CHAR): CHAR;
	PROCEDURE ToExtendedAscii (IN in: ARRAY OF CHAR; OUT out: ARRAY OF CHAR);
	PROCEDURE ToUnicode (IN in: ARRAY OF CHAR; OUT out: ARRAY OF CHAR);
	PROCEDURE ToUpper (IN in: ARRAY OF CHAR; OUT out: ARRAY OF CHAR);
	PROCEDURE UnicodeOf (ch: CHAR): CHAR;
	PROCEDURE Upper (ch: CHAR): CHAR;

END i21sysLatin1.

The full documentation is currently available only in the Russian version.

------------
info21
2012-05-04
i21sys/Docu/Scanner.odc

i21sysScanner

DEFINITION i21sysScanner;

	TYPE
		String = ARRAY 257 OF CHAR;

	VAR
		current-: RECORD 
			folder-: ARRAY 2000 OF CHAR;
			fileName-: ARRAY 256 OF CHAR
		END;
		done-: BOOLEAN;
		prec-: RECORD 
			s-, s0-, s1-: String
		END;
		s-: String;
		s0-: String;
		s1-: String;

	PROCEDURE Next;
	PROCEDURE NextPair;
	PROCEDURE Open (folder: ARRAY OF CHAR; name: ARRAY OF CHAR);
	PROCEDURE Restart;

END i21sysScanner.

See Russian documentation.
i21sys/Docu/Script.odc

i21sysScript

DEFINITION i21sysScript;
	PROCEDURE CreateVbs;
END i21sysScript.

PROCEDURE CreateVbs;
This command creates a vbs-script to start BlackBox in server mode for the current installation of BlackBox.
The script is created in the main BlackBox folder as a file called Start_BlackBox.vbs.
For this command to work, BlackBox must have been started in the main folder, and the latter must not already contain a file called Start_BlackBox.vbs.

Copying the resulting Start_BlackBox.vbs to any folder and double-clicking on it starts BlackBox in server mode with that folder as the working folder.

2009-10-16 Fyodor Tkachov ftkachov@inr.ac.ru
i21sys/Docu/UnicodeTools.odc

i21sysUnicodeTools

DEFINITION i21sysUnicodeTools;

	IMPORT TextModels;

	PROCEDURE ExamineSelection;
	PROCEDURE NextEASCII;
	PROCEDURE NextUnicode;
	PROCEDURE SelToEASCII;
	PROCEDURE SelToUnicode;

END i21sysUnicodeTools.

Conversion of text fragments between EASCII and Unicode.

For details see Russian documentation.

----
info21
2012-10-22
i21sys/Docu/Vocabulary.odc

DEFINITION i21sysVocabulary;

	IMPORT TextModels, i21sysAuxScanner;

	VAR
		import-: ARRAY 100 OF CHAR;
		language-: ARRAY 100 OF CHAR;
		module-: ARRAY 100 OF CHAR;

	PROCEDURE ConvertFocus;
	PROCEDURE ConvertText (t0: TextModels.Model; OUT t1: TextModels.Model);
	PROCEDURE OriginalPos (pos: INTEGER): INTEGER;
	PROCEDURE Retranslate (IN na: i21sysAuxScanner.String; OUT en: i21sysAuxScanner.String);
	PROCEDURE SetLanguage (lang: ARRAY OF CHAR);
	PROCEDURE Show;
	PROCEDURE Translate (IN en: i21sysAuxScanner.String; OUT na: i21sysAuxScanner.String);

END i21sysVocabulary.

Currently documentation for this module is only available inRussian.
i21sys/Docu/Windows.odc

i21sysWindows

DEFINITION i21sysWindows;

	PROCEDURE AlignTopLeft;
	PROCEDURE AlignTopRight;
	PROCEDURE SetPos (xnew, ynew: INTEGER);
	PROCEDURE SetSize (w, h: INTEGER);

END i21sysWindows.

All procedures operate with the front window.
Note that the window just open is the front window.
i21sys/Docu/ru/Bitmaps.odc

i21sysBitmaps

DEFINITION i21sysBitmaps;

	PROCEDURE ExportD (v: Views.View; w, h, x, y: INTEGER; isSingle: BOOLEAN; VAR med: WinOle.STGMEDIUM);
	PROCEDURE SaveSingleton;

END i21sysBitmaps.

Средство сохранения вьюшек (объектов отрисовки) Блэкбокса как картинок в формате BMP.
Примерная команда меню:

MENU "File"
	"Save As Bitmap..." 	""	"i21sysBitmaps.SaveSingleton"	"StdCmds.SingletonGuard"
END

При выполнении команды в фокусе должна быть единственная вьюшка, получившаяся картинка будет содержать только изображение этой вьюшки.
Чтобы сохранить изображение текстового окошка, нужно сначала выделить текст как единую вьюшку нажатием Ctrl+Space (появится рамочка с белыми квадратиками; чтобы потом убрать её, нужно нажать Esc), а затем выполнить команду меню. В картинку будет сохранено в точности видимое изображение внутри рамочки.
Замечание. На то, как выглядят буквы в сохраненной картинке, влияют установки дисплея (режим ClearType и т.п.).

Модуль предоставлен Ominc. 
Переименование и редакция для проекта Информатика-21: ФВТ 2008-02-16.
i21sys/Docu/ru/Calls.odc

i21sysCalls

DEFINITION i21sysCalls;

	PROCEDURE Open ( fileName: ARRAY OF CHAR );
	PROCEDURE Start ( fileName: ARRAY OF CHAR );

END i21sysCalls.

Команды вызова внешних приложений (EXE). 

PROCEDURE Open ( fileName: ARRAY OF CHAR )
Открыть указанный документ ОС MS Windows в (внешней) программе, связанной в реестре ОС с расширением имени файла; например, документ .WAV будет открыт в WinAmp, если последний связан в реестре с файлами .WAV; имя может содержать путь; см. примеры коммандеров после текста модуля.
Параметр fileName должен содержать имя документа в виде, повзоляющем ОС найти его.

Примеры:
i21sysCalls.Open( 'Музыка\Примеры\квинта.wav' ) -- проиграть файл квинта.wav, лежащий в папке Примеры подсистемы Музыка. Для проигрывания будет использована программа, зарегистрированная в ОС для расширений .wav.

i21sysCalls.Open('C:\Mathtype\Docu\SDK\docs\APIDoc.htm') -- открыть в браузере указанный htm-файл.

PROCEDURE Start ( fileName: ARRAY OF CHAR )
Запуск произвольной внешней программы (EXE); например, notepad.exe; имя может содержать путь.

Примеры

i21sysCalls.Start('notepad.exe')
i21sysCalls.Open('Информатика-21.url')
i21sysCalls.Open('Start BlackBox.vbs')
i21sysCalls.Open('readme.txt')

Можно указывать полный путь для любого из вызываемых или открываемых файлов.

Чтобы выполнить вызовы прямо отсюда, нужно взять соотв. процедурный вызов в двойные кавычки (вместе со списком параметров), вставить в начале строки коммандер (Ctrl+Q) и щелкнуть по нему.
i21sys/Docu/ru/Compiler.odc

i21sysCompiler

DEFINITION i21sysCompiler;

	IMPORT TextModels;

	VAR
		error-: BOOLEAN;
		off-: BOOLEAN;

	PROCEDURE Compile;
	PROCEDURE CompileAndReload;
	PROCEDURE ConvertCompileAndReload;
	PROCEDURE IndentGuard (VAR par: Dialog.Par);
	PROCEDURE ToggleIndentChecks;

END i21sysCompiler.

Средства работы с исходниками, использующими неанглийские ключевые слова.
Словариком таких слов заправляет модуль i21sysVocabulary.

VAR error-: BOOLEAN;
Последняя компиляция была неуспешной.

VAR off-: BOOLEAN;
Отключены или нет автоматические (при компиляции) проверки отступов в исходниках.

PROCEDURE Compile;
Если i21sysVocabulary.language = 'en', то эта процедура компилирует модуль штатным способом (DevCompiler.Compile). В противном случае она:
	берет текст в фокусе, 
	создает его копию, одновременно заменяя слова по словарику,
	компилирует копию,
	копирует маркеры ошибок в соотв. места исходного текста в фокусе.
Исходник, компилируемый этой командой, может содержать вперемешку родные и английские ключевые слова. Но родные  только из словарика.

PROCEDURE ConvertCompileAndReload;
Три в одном: перевод, компиляция, перезагрузка.
Перезагрузка форсирует выполнение секции инициализации, которая, таким образом, играет роль простейшей программы турбопаскалевского типа.

PROCEDURE CompileAndReload;
Аналогично, только без перевода.


PROCEDURE ToggleIndentChecks;
Включение/выключение автоматической проверки отступов при компиляции.
Черными квадратами  наказываются:
 использование пробелов для выравнивания в начале строки;
 неправильное количество символов табуляции;
 инструкции в той же строке после BEGIN, IF ... THEN и т.п.
В учебных условиях лучше включать эту проверку на постоянной основе в модуле Config в процедуре Setup (добавить инструкцию i21sysCompiler.ToggleIndentChecks;).

Сама автоматическая проверка отступов реализуется в модулях DevCPP и DevCPS, относящихся к штатному компилятору Блэкбокса.
Для версии Блэкбокса 1.6 будут нужны другие версии этих модулей.

Возможные команды меню:

MENU "Учебный компилятор"
	"Компилировать"	"K"	"i21sysCompiler.Compile"	"TextCmds.FocusGuard"
	"Компилировать и перегрузить"	"^F9"	"i21sysCompiler.ConvertCompileAndReload"	"TextCmds.FocusGuard"
	"Перевести на англ."	""	"i21sysVocabulary.ConvertFocus"	"TextCmds.FocusGuard"
	"Открыть словарик"	""	"StdCmds.OpenBrowser('i21sys/Rsrc/ru','vocab')"	""
	"Переключить проверки отступов"	"*I"	"i21sysCompiler.ToggleIndentChecks"	"i21sysCompiler.IndentGuard"
END
i21sys/Docu/ru/Cyrillic.odc

i21sysCyrillic

DEFINITION i21sysCyrillic;

	CONST
		HostFontsCHARSET = 1;

	VAR
		charSetName-: ARRAY 64 OF CHAR;

	PROCEDURE Cap (ch: CHAR): CHAR;
	PROCEDURE ExtendedAsciiOf (ch: CHAR): CHAR;
	PROCEDURE IsCap (ch: CHAR): BOOLEAN;
	PROCEDURE IsDigit (ch: CHAR): BOOLEAN;
	PROCEDURE IsFirstIdentChar (ch: CHAR): BOOLEAN;
	PROCEDURE IsIdentChar (ch: CHAR): BOOLEAN;
	PROCEDURE IsLetter (ch: CHAR): BOOLEAN;
	PROCEDURE Lower (ch: CHAR): CHAR;
	PROCEDURE ToExtendedAscii (IN in: ARRAY OF CHAR; OUT out: ARRAY OF CHAR);
	PROCEDURE ToLower (IN in: ARRAY OF CHAR; OUT out: ARRAY OF CHAR);
	PROCEDURE ToUnicode (IN in: ARRAY OF CHAR; OUT out: ARRAY OF CHAR);
	PROCEDURE ToUpper (IN in: ARRAY OF CHAR; OUT out: ARRAY OF CHAR);
	PROCEDURE UnicodeOf (ch: CHAR): CHAR;
	PROCEDURE Upper (ch: CHAR): CHAR;

END i21sysCyrillic.

Конкретная реализация функциональности модуля i21sysCharacters для кириллических алфавитов.
См. описание процедур в документации к i21sysCharacters.

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

Модуль может использоваться для работы с кириллическими текстами в оригинальной (западноевропейской) версии системы Блэкбокс.

-------
info21
2012-05-04
i21sys/Docu/ru/Files.odc

i21sysFiles

DEFINITION i21sysFiles;

	IMPORT Files;

	PROCEDURE Copy (f: Files.File; to: Files.Locator; OUT new: Files.File; OUT res: INTEGER);
	PROCEDURE GetDiskLetter (loc: Files.Locator; OUT disk: CHAR);
	PROCEDURE GetFolderName (loc: Files.Locator; OUT name: ARRAY OF CHAR);

END i21sysFiles.


PROCEDURE Copy (f: Files.File; to: Files.Locator; OUT new: Files.File; OUT res: INTEGER);
Создаёт копию файла f в папке to.
Новый файл возвращается в new.
res # 0 по замыслу должно сообщать о неуспехе операции, но пока в случае проблем в процедуре просто генерируется Трап.

PROCEDURE GetDiskLetter (loc: Files.Locator; OUT disk: CHAR);
Выдаёт в disk буквенный идентификатор диска, на котором находится папка, соответствующая loc.

PROCEDURE GetFolderName (loc: Files.Locator; OUT name: ARRAY OF CHAR);
Находит и выдаёт в name имя последней подпапки, соответствующей loc.
i21sys/Docu/ru/Latin1.odc

i21sysLatin1

DEFINITION i21sysLatin1;

	CONST
		HostFontsCHARSET = 0;

	VAR
		charSetName-: ARRAY 64 OF CHAR;

	PROCEDURE Cap (ch: CHAR): CHAR;
	PROCEDURE ExtendedAsciiOf (ch: CHAR): CHAR;
	PROCEDURE IsCap (ch: CHAR): BOOLEAN;
	PROCEDURE IsDigit (ch: CHAR): BOOLEAN;
	PROCEDURE IsFirstIdentChar (ch: CHAR): BOOLEAN;
	PROCEDURE IsIdentChar (ch: CHAR): BOOLEAN;
	PROCEDURE IsLetter (ch: CHAR): BOOLEAN;
	PROCEDURE Lower (ch: CHAR): CHAR;
	PROCEDURE ToExtendedAscii (IN in: ARRAY OF CHAR; OUT out: ARRAY OF CHAR);
	PROCEDURE ToUnicode (IN in: ARRAY OF CHAR; OUT out: ARRAY OF CHAR);
	PROCEDURE ToUpper (IN in: ARRAY OF CHAR; OUT out: ARRAY OF CHAR);
	PROCEDURE UnicodeOf (ch: CHAR): CHAR;
	PROCEDURE Upper (ch: CHAR): CHAR;

END i21sysLatin1.

Конкретная реализация функциональности модуля i21sysCharacters для западноевропейского набора литер Latin-1, предусмотренного официальным Сообщением о языке Компонентный Паскаль (2001 г.).

См. описание процедур в документации к i21sysCharacters.

К средствам модуля можно обращаться в любой версии Блэкбокса независимо от того, для каких языков включена поддержка литер в идентификаторах.

--------
info21
2012-05-04
i21sys/Docu/ru/Listings.odc

i21sysListings

DEFINITION i21sysListings;

	PROCEDURE Files (IN subsystem: ARRAY OF CHAR);
	PROCEDURE Modules (IN subsystem: ARRAY OF CHAR);
	PROCEDURE ModulesAsLinks (IN subsystem: ARRAY OF CHAR);
	PROCEDURE Subsystems;

END i21sysListings.

Процедуры для создания списков модулей в разных форматах:

PROCEDURE Subsystems;
Печатает в Log список имен подсистем -- точнее, папок в рабочей папке Блэкбокса).
Пример:
i21sysListings.Subsystems

PROCEDURE Files (IN folder: ARRAY OF CHAR);
Печатает в Log список файлов в папке folder. Если папка folder находится внутри рабочей папки Блэкбокса, то печатаются соответствующие относительные пути. Иначе печатаются абсолютные пути.
Примеры:
"i21sysListings.Files('i21sys/Mod')"
"i21sysListings.Files('c:/temp')"

PROCEDURE Modules (IN subsystem: ARRAY OF CHAR);
Печатает в Log список имен модулей подсистемы subsystem (точнее, файлов .odc в папке subsystem/Mod).
Пример:
"i21sysListings.Modules('i21sys')"

PROCEDURE ModulesAsLinks (IN subsystem: ARRAY OF CHAR);
Печатает в Log список гиперлинков к файлам в папке subsystem/Mod/.
Пример:
"i21sysListings.ModulesAsLinks('i21sys')"
i21sys/Docu/ru/Scanner.odc

i21sysScanner

DEFINITION i21sysScanner;

	TYPE
		String = ARRAY 257 OF CHAR;

	VAR
		current-: RECORD 
			folder-: ARRAY 2000 OF CHAR;
			fileName-: ARRAY 256 OF CHAR
		END;
		done-: BOOLEAN;
		string-: String;

	PROCEDURE Next;
	PROCEDURE Open (folder: ARRAY OF CHAR; name: ARRAY OF CHAR);
	PROCEDURE Restart;

END i21sysScanner.

Используется для считывания словариков. 
Примеры словариков: i21sys/Rsrc/keywords.odc  i21sys/Rsrc/ru/vocab.odc

Изначально модуль сделан для использования в i21sysVocabulary и i21sysEdit, но является достаточно универсальным.

Словарики  это текстовые документы Блэкбокса.
Слова  это string в смысле TextMappers.Scanner.
Любая вьюшка означает конец словаря (обычно это вьюшка , которая вставляется посредством Shift+Ctrl+Q).
Комментарии начинаются с литеры % и завершаются литерой конца строки (Enter) или параграфа или концом документа или вьюшкой, ограничивающей словарь.
NB Гиперссылки, складки и т.п. содержат вьюшки, поэтому их нельзя использовать в комментариях кроме как в самом последнем.
Слова разделяются "белыми литерами" (Tab, Enter, пробелы).
Смысл слов определяется приложением.

TYPE String
Тип переменных для хранения считываемых слов.
	
VAR
	current-: RECORD
		folder-: ARRAY 2000 OF CHAR;
		fileName-: ARRAY 256 OF CHAR
	END;
Информация о словарике, открытом в данный момент.


VAR  done-: BOOLEAN;
Успех очередного считывания. ~done = достигнут конец списка.

VAR  string-: String;
Результат последнего успешного s.Scan.

PROCEDURE Next
Прочесть очередное слово, пропуская комментарии.
Если done, то результат хранится в string.

PROCEDURE Open (folder: ARRAY OF CHAR; name: ARRAY OF CHAR)
Открыть для чтения словарик name в папке folder.
POST
	done: словарик открыт успешно

PROCEDURE Restart
Встать в начало читаемого словарика (чтобы начать читать его снова).

Примеры процедур, считывающих словарики: i21sysScannerTest

-----
info21, 2011-12-22, последние правки 2012-11-06
i21sys/Docu/ru/Script.odc

i21sysScript

DEFINITION i21sysScript;
	PROCEDURE CreateVbs;
END i21sysScript.

Обслуживание серверного режима, когда разные проекты помещаются в собственных рабочих папках вне основной папки Блэкбокса и таким образом изолируются друг от друга и от основной инсталляции Блэкбокса; подробнее см. документ
Орабочихпапкахисерверномрежиме.

PROCEDURE CreateVbs
Процедура создает vbs-скрипт (текстовый файл с расширением .vbs, который может интерпретироваться операционной системой) для запуска Блэкбокса в т.наз. серверном режиме.  
Скрипт создается с расширением  .vbs в основной папке Блэкбокса для данной его инсталляции, имя скрипта задаётся в ресурсном файле i21sys/Rsrc/Strings.odc (параметр StartupBlackBox).
Чтобы команда сработала, Блэкбокс должен быть запущен в своей основной папке (двойным кликом по BlackBox.exe).

Для запуска этой процедуры в меню может быть предусмотрена специальная команда (например, Help -> Create vbs или Справка -> Создать файл-пускач).
После создания скрипта лучше переименовать его, чтобы различать скрипты для запуска разных инсталляций Блэкбокса.

Для использования созданного скрипта достаточно его скопировать в выбранную рабочую папку и запускать там двойным кликом. Это обеспечит запуск Блэкбокса в серверном режиме с данной папкой в качестве рабочей.
i21sys/Docu/ru/Sys-Map.odc

Обзор подсистемы i21sys

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

Чтобы открыть документацию к модулю на русском языке, выделить имя (например, двойным кликом) и выполнить команду меню Info, Документация (или правый клик мышкой, Документация).

i21sysBitmaps	команда сохранения вьюшек в формате BMP
i21sysCalls	вызов внешних программ и файлов
i21sysCharacters	интерфейсный модуль, предоставляющий информацию о допустимых буквах в идентификаторах и т.п.
i21sysCompiler	компонент ("фасад") для компилятора, обслуживающий учебный процесс (программы с ключевыми словами на национальных языках, 
управление автоматическим контролем отступов)
i21sysCyrillic	конкретные реализации для кириллических языков средств, предусмотренных в модуле i21sysCharacters (ср. ниже i21sysLatin1)
i21sysDesktop	сохранение и восстановление положения открытых окон
i21sysEdit	редактор, умеющий раскрывать синтаксические конструкции по первым буквам, в том числе при работе с ключевыми словами на национальных языках
i21sysFiles	некоторые средства для работы с файловой системой
i21sysIn	ввод данных из текстовых документов
i21sysInfo	поддержка работы по linux/wine
i21sysKoi8r	перевод из кодировки KOI8-R
i21sysLatin1	"затычка" для i21sysCharacters вместо i21sysCyrillic;
при использовании этого модуля компилятор Блэкбокс ведёт себя в отношении набора литер в соответствии с международным оригиналом Сообщения о языке, т.е. в идентификаторах допускаются только буквы из Latin-1
i21sysListings	примеры создания списков модулей и файлов
i21sysScanner	средство чтения словариков, используемых для ключевых слов на национальных языках
i21sysScript	создание запускающего vbs-файла для поддержки серверного режима
i21sysText	дополнительные команды работы с текстами (в частности, возможность форматирования простых формул)
i21sysUnicodeTools	простые примеры инструментов для решения задач, возникающих из-за возможного присутствия в текстах Блэкбокса литер как Юникода, так и из диапазона расширенного ASCII
i21sysVocabulary	вспомогательные средства для работы с ключевыми словами на национальных языках
i21sysWindows	управление окнами документов

Команда компиляции всех модулей подсистемы:
DevCompiler.CompileThis 
i21sysInfo i21sysBitmaps i21sysCalls 
i21sysCharacters i21sysLatin1 i21sysCyrillic
i21sysScanner i21sysScannerTest i21sysVocabulary i21sysCompiler
i21sysDesktop i21sysEdit i21sysFiles i21sysIn i21sysInПримеры
i21sysListings i21sysKoi8r i21sysHello i21sysProgram0 i21sysProgram1
i21sysScript i21sysText i21sysUnicodeTools i21sysWindows Config

В модуль Config добавляется пара настроек Блэкбокса для использования этих модулей.

Ф.В.Ткачев, 2009-10-06, для проекта Информатика-21. 
Последние модификации 2012-09-28.
i21sys/Docu/ru/Text.odc

Пакет команд для работы с текстами. Возможные команды меню:

MENU "Text" ("TextViews.View")
	"Raise"	"^*F8"	"i21sysText.Raise"	"TextCmds.SelectionGuard"
	"Lower"	"^F8"	"i21sysText.Lower"	"TextCmds.SelectionGuard"
	"Zero Offset"	""	"i21sysText.Offset0"	"TextCmds.SelectionGuard"
END

PROCEDURE Lower
"Опустить"
Выделенный текст опускается на полпункта относительно базовой линии (офсет уменьшается).

PROCEDURE Offset0
Выделенный текст "ставится" на базовую линию (офсет обнуляется).

PROCEDURE Raise
"Поднять"
Выделенный текст поднимается на полпункта относительно базовой линии (офсет увеличивается).
i21sys/Docu/ru/UnicodeTools.odc

i21sysUnicodeTools

DEFINITION i21sysUnicodeTools;

	IMPORT TextModels;

	PROCEDURE ExamineSelection;
	PROCEDURE NextEASCII;
	PROCEDURE NextUnicode;
	PROCEDURE SelToEASCII;
	PROCEDURE SelToUnicode;

END i21sysUnicodeTools.

Модуль предоставляет инструменты для преобразования литер в выделенных фрагментах текстовых документов из верхней половины расширенного ASCII (EASCII) в Юникод и обратно.

Соответствия, используемые для преобразования EASCII <-> Unicode, определяются модулем Ch в списке импорта исходника. Литеры, не имеющие таких соответствий, не преобразуются.
Распознавание конкретных диапазонов литер в кодировке Юникод (кириллический и т.п.) "зашито" в исходник модуля (процедура ExamineSelection).

Модуль предназначен для решения двух классов задач:

1. Тексты могут содержать смесь русских букв и, скажем, немецких с умляутами, и тогда важно проследить, чтобы преобразовывались только нужные фрагменты.

2. При копировании имен файлов и папок из некоторых файловых менеджеров в документы Блэкбокса могло произойти преобразование кодировок. 
(Например, это может случиться при подготовке компьютерного класса.)
Тогда нужно преобразовать соответствующие фрагменты текста в нужную кодировку (EASCII или Unicode).


PROCEDURE ExamineSelection;
Выдаёт в рабочий журнал информацию о литерах в выделенном фрагменте.

PROCEDURE NextEASCII;
Найти (после курсора или выделенного фрагмента) очередной отрезок литер EASCII, причем в отрезке допускаются также пробелы, знаки препинания, цифры и спецлитеры из чистого ASCII.

PROCEDURE NextUnicode;
Найти (после курсора или выделенного фрагмента) очередной отрезок юникода, причем в отрезке допускаются также пробелы, знаки препинания, цифры и спецлитеры из чистого ASCII.

PROCEDURE SelToEASCII;
Преобразовать литеры в выделенном фрагменте из Юникода в EASCII.

PROCEDURE SelToUnicode;
Преобразовать литеры в выделенном фрагменте из EASCII в Юникод.


Возможные команды меню:

	"Показать коды литер"	""	"i21sysUnicodeTools.ExamineSelection"	"TextCmds.FocusGuard"
	"Выделенное в EASCII"	""	"i21sysUnicodeTools.SelToEASCII"	"TextCmds.FocusGuard"
	"Выделенное в Unicode"	""	"i21sysUnicodeTools.SelToUnicode"	"TextCmds.FocusGuard"
	"Найти след. отрезок EASCII"	""	"i21sysUnicodeTools.NextEASCII"	"TextCmds.FocusGuard"
	"Найти след. отрезок Unicode"	""	"i21sysUnicodeTools.NextUnicode"	"TextCmds.FocusGuard"


Доступ к командам модуля из диалога:
"StdCmds.OpenToolDialog('i21sys/Rsrc/UnicodeTools','EASCII -- Юникод')"


----
info21
2012-10-22