Подключение режимов пользователя |
Предлагается возможность подключения пользовательских режимов, т.е. режимов, созданных самим пользователем-разработчиком.
Это означает, что пользователь может "повесить" собственные режимы обработки (как пакетные, так и интерактивные) в главном меню и на панели инструментов АРМа «Каталогизатор».
Предполагается, что режим пользователя представляет собой функцию
DLL (созданную по тем же правилам, что и для форматного выхода &unifor('+8...) – Приложение 4).
Режимы пользователя описываются через INI-файл (по умолчанию - irbisc.ini) в секции [USERMODE] по следующей схеме.
Каждый внешний режим пользователя описывается набором следующих параметров: |
UMDLLn - имя DLL (в случае нестандартного вызова функций перед именем DLL следует поставить символ *);
UMFUNCTIONn - имя функции DLL, реализующей данный режим. Следует иметь в виду, что имя функции DLL надо указывать точно так, как она экспортирована из DLL (т.е. большие и малые буквы различаются);
UMPFTn - имя формата, в соответствии с которым осуществляется передача входных данных в функцию (формат применяется к текущей записи);
UMNAMEn - название режима на естественном языке (для главного меню и подсказки);
UMGROUPn - порядковый номер группы режимов в главном меню;
UMICONn – имя иконки для отображения данного режима на панели инструментов (иконка включается в DLL в качестве ресурса типа ICON размером 16х16 ).
n – порядковый номер режим в списке (начиная с 0).
Общее количество режимов пользователя |
указывается в параметре UMNUMB.
Регламентируется формат данных, возвращаемых функцией режима пользователя. В общем случае это список строк (т.е. данных, разделенных символами $0D0A).
Конкретное содержание возвращаемых данных определяется кодом возврата функции режима (целое число).
Предлагаются следующие коды возврата:
•отрицательное число – ненормальное завершение режима, возвращаемые данные не учитываются;
•0 – нормальное завершение, никакие данные не возвращаются;
•1 – выполнена корректировка текущей записи, возвращаемые данные представляют собой текущую запись (полностью) в соответствии с форматом &unifor(‘+0’), а именно:
0
<mfn>#<статус записи>
0#<версия записи>
<метка поля 1>#<значение поля 1>
<метка поля 2>#<значение поля 2>
……………………
<метка поля N>#<значение поля N>
При этом данные <mfn>, <статус записи> и <версия записи> при возврате не учитываются.
Режимы пользователя также могут использоваться в качестве расширенных средств ввода (подробнее об этом см. Приложение 8). |
См. также:
Приложение 4. ЯЗЫК ФОРМАТИРОВАНИЯ ДАННЫХ. РЕДАКТОР ФОРМАТОВ
Приложение 8. Редактор РЛ и справочников (Режим ввода)
Подключение режимов пользователя (Книговыдача)