OberonCore
 

Как устанавливать новые подсистемы

02.08.2007 г.

Распространение подсистем

Подсистемы BlackBox обычно распространяются в виде одного упакованного файла. Для этого обычно используется либо кодировщик StdCoder (текстовый формат, файл .txt или .odc), либо архиватор PAC (файл .pac).

В дистрибутив обычно включены исходные коды и документация. В таком случае кодовые файлы не включаются, и подсистему требуется откомпилировать. Обычно знакомство с подсистемой следует начинать с документов ИмяПодсистемы/Docu/User-Man.odc, Sys-Map.odc или Quick-Start.odc. В этих документах содержатся команды компиляции для подсистем и инструкции по дальнейшей установке в среде. Использование StdCoder

Для распространения подсистем BlackBox широко используется текстовый формат, унаследованный еще от ранних Оберонов. С этим форматом работает стандартный модуль BlackBox: StdCoder (вся информация по нему есть также в документации BlackBox). Он может быть использован для кодирования документа, отображения или файлов в текстовую форму. В кодировке используются символы, которые гарантировано не будут изменены никакой почтовой системой. Символы «белого пространства» (пробелы, табуляции, новые строки и т.п.) могут добавляться или удаляться произвольным образом, поскольку они игнорируются при декодировании.

Дистрибутивы, закодированные StdCoder, представлены обычным текстовым документом (.txt или .odc), содержащим текст следующего вида:

StdCoder.Decode ..,1 ..I
58Q5v9PuP7v97eQT9Q7uPjfP
K4puaqliqKCJu4KtGLLyKmC4
jgdZphpRiiwhYRAcp,... 1A
PE,5TWyqlKrqKKrGrtumdGLm
 --- end of encoding ---

Откройте такой документ в BlackBox и выполните команду меню Tools→Decode (или, если вы хотите только получить информацию о закодированных файлах - Tools→About Encoded Material).

Команда Decode ищет строку «StdCoder.Decode» как тег, который обозначает начало кодовой последовательности. Это позволяет заголовкам e-mail и другим текстам предшествовать самому коду. Если в переднем окне есть текстовое выделение, сканирование начинается от начала выделения. В зависимости от типа кодированных данных, произойдет одно из следующих действий:

  • если закодирован документ (EncodeDocument, EncodeSelection), он будет открыт в новом окне;
  • если закодирован отдельный файл (EncodeFile), будет открыт стандартный диалог сохранения, позволяющий пользователю сохранить файл;
  • если закодирован список файлов (EncodeFileList), будет открыт специальный диалог, позводяющий пользователю выбрать файлы для декодирования. Имена путей, включенные во время кодирования, показаны в списке. Из него можно выбрать один или несколько файлов. После нажатия командной кнопки выбранные файлы будут декодированы. Если выбран только один файл, имя пути может быть изменено или может быть использован стандартный диалог сохранения для показа иерархии директорий. Другой командной кнопкой все файлы могут быть декодированы и сохранены под указанными в списке именами, независимо от выделения.

Если вы хотите закодировать свои файлы, используйте команды меню Tools: Encode Document, Encode Selection, Encode File, Encode Files. Информацию по ним можно найти в документации модуля StdCoder.

Использование архиватора Pac

Более компактным способом распространения дистрибутивов является использование формата PAC. Этот архиватор представляет собой подсистему для BlackBox и дает довольно высокую степень сжатия (в среднем лучше, чем ZIP). Кроме того, вы можете использовать его API в своих разработках.

Для распаковки архива формата PAC нужно открыть его в BlackBox (с установленным Pac) через File→Open, выбрав тип файла PACked (*.pac). В появившегося окна со списком файлов кнопки позволяют распаковать все файлы или только некоторые в нужную директорию (для подсистем требуется корневая директория BlackBox).

Подсистема Pac, для BlackBox 1.6, представлена на сайте Component Pascal Collection. Версию для BlackBox 1.5 можно взять здесь: Pac.odc (386 Кб).

Откройте скачанный документ в BlackBox и распакуйте его с помощью StdCoder. Откройте документ Pac/Docu/Quick-Start.odc и следуйте инструкциям. Сначала потребуется выполнить команду компиляции. Для интеграции Pac со средой потребуется добавить в процедуру Config.Setup следующие строчки:

Converters.Register ( "PacConverters.ImportPac", "PacConverters.ExportPac1", "", "pac", {});
Converters.Register( "", "PacConverters.ExportPac0", "TextViews.View", "pac", {});

Откомпилируйте измененный Config. После установки и перезапуска среды в меню появится пункт Pac. Работа с подсистемой описана в прилагающейся документации.

 
Программирование
Главная
Оберон и оберон-технологии
Общие статьи
Библиотека
BlackBox
Среда
Документация
Компоненты
Статьи
Полигон
Образование
Статьи
Учебные материалы
Сообщество
Информатика-21
ООО «Метасистемы»
Европейский центр программирования
Oberon Community Platform
Королевство Делфи
© 2007, 2008, 2009 Проект "OberonCore".