АРМ "АльтерВвод" - проект по созданию альтернативного Ирбис-клиента для каталогизации
Предлагаю вашему вниманию результат моей месячной работы по созданию инструмента для реализации альтернативного способа ввода данных в электронный каталог. А если учесть прилагающийся к нему плагин (ради которого, в общем, и создавался этот модуль), всё вместе это можно оценивать как результат моих исследований за 5 лет. Отмечу, что сам я лишь программист-любитель (вынужденно числящийся оператором в библиотеке) и вся работа выполняется на чистом энтузиазме. Стало быть, повышенных требований предъявлять к ней не стоит. Выкладываемое приложение не является полным аналогом моего предыдущего проекта под названием "БАРСиК", о котором я также неоднократно упоминал здесь. В частности, основные операции по автоматизации процесса каталогизации - ввод БО и роспись оглавления - вынесены здесь в отдельный внешний подключаемый модуль (плагин), в котором оставлено только всё самое необходимое. Такие функции, как ОCR и проверка орфографии, в этой версии отсутствуют (но оставлены их заготовки), поэтому для реального применения этого приложения должна быть установлена программа Abbyy FineReader, данные из которой можно передать в рабочее окно плагина BART через буфер обмена (других технологий взаимодействия программ распознавания текста c ИРБИС-клиентами для каталогизации в настоящий момент нет, если не считать Имидж-каталога и моих экспериментов с FineReader Engine и другими OCR-движками, которые пока носят чисто исследовательский интерес).
К сожалению, пока я не представляю возможности разрабатывать полнофункциональный клиент на основе открытых исходных текстов. В приведённом приложении используется демо-версия компонентов TMS (в основном - табличных), о чём оно периодически напоминает. Из функций собственно каталогизации поддерживаются только базовые возможности. Вместе с тем наличествует и ряд возможностей, отсутствующих в АРМ "Каталогизатор", - сейчас это главным образом:
* прокрутка всего оглавления с подполями в одном окне;
* переформатирование отдельных подполей для всех или выбранных пунктов оглавления;
* улучшенная поддержка плагинов (АРМ Каталогизатор у меня зависает при попытке выполнить мои плагины).
Мной введено также сознательное ограничение функциональности приложения, заключающееся в отсутствии возможности сохранения записи. Впрочем, и в таком виде оно позволяет существенно сэкономить на операциях по росписи оглавления, поскольку технологию
copy/paste ещё никто не отменял. Перспективы распространения полнофункциональной версии заслуживают отдельного разговора, как и дальнейшее наращивание возможностей приложения (интеграция с OCR, COM-серверами и т.д.). Сам я склоняюсь к мысли, что развитие АРМ "АльтерВвод" - если оно случится, конечно, - будет осуществляться в сторону полноценного текстового библиоредактора.
Отмечу, что для работы плагина оглавления и бибописания требуется установка на компьютере среды .NET Framework. К сожалению, пока не на всех компьютерах мне удалось добиться загрузки плагина из моей программы, но по крайней мере на новых машинах с Windows 7 (вроде той, что стоит на моём рабочем месте) он должен работать. Само приложение АРМ "АльтерВвод" и его плагины, как и предыдущая моя программа для библиотек, от которой здесь позаимствовано много программного кода, разрабатываются на виртуальной машине под Windows XP. Основное приложение пишется на C++ Builder, поэтому каких-либо проблем с его загрузкой возникать не должно (если работает Каталогизатор, должен запуститься и "АльтерВвод"). Правда, если вы только не собираетесь использовать его с демо-версией IRBIS64 с настройками по умолчанию, скорее всего, придётся внести изменения в приложенный файл Cirbisc.ini - в первую очередь, поменять в нём IP сервера и номер порта. Собственно, вы можете просто скопировать этот файл из папки Каталогизатора, добавив в него секцию [USERMODE], а все параметры взять из приложенной копии файла Cirbisc.ini.
Обращайтесь ко мне, если возникнут какие-либо проблемы с использованием утилит. Принцип работы с оглавлением достаточно прост - выбираем нужную запись из таблицы, как в Каталогизаторе, и нажимаем соответствующую кнопку пользовательского режима. После чего вводим в текстовое поле появившегося окна отсканированный текст нашего оглавления и создаём или загружаем для него нужный шаблон на специальном языке, который описан в документе по ссылке [
irbis.gpntb.ru] (там же приводится и некоторое теоретическое обоснование моего подхода). Во вложении вы найдёте пример оглавления и готовый шаблон для него с расширением .PTM, который загружается с помощью пункта меню Файл -> Загрузить шаблон. После этого нужно выбрать пункт меню Команды -> Запуск обработки. Окно плагина закроется, и всё оглавление перенесётся в соответствующие поля таблицы рабочего листа записи, где с ним уже можно работать дальше (изменять регистр текста подполей, разделять фамилию и имя автора по отдельным полям, переносить инициалы автора в конец).
Работать с БО ещё проще - там буквально одна кнопка. Другое дело, что сам модуль достаточно несовершенный. В основном приложении есть одна досадная ошибка - при обработке оглавления его первый пункт (первое повторение поля) заносится в конец, что в принципе некритично, но придётся задуматься над правильностью моего использования функций клиентской библиотеки Ирбиса (
кстати, если вам нужна только библиотека irbis64_client.dll, вы можете найти её в архиве с приложением). Как ни странно, в моей предыдущей программе таких глюков не отмечалось. Также при добавлении новых пунктов к оглавлению обычным методом каталогизации (с помощью тех же действий, что и в АРМ Каталогизатор), новое повторение поля пока добавляется как первое. И еще: при внесении изменений в таблицу рабочего листа изменения в выделенной в данный момент строке таблице (которая в фокусе) не видны. Я выложу исправленную версию приложения, сразу как только удастся решить все указанные проблемы.