MiniM Database Server может быть использован для выполнения скриптов
автоматизации сохраненных в текстовых файлах на диске. Опишем процедуру, как
сделать скрипты на языке MUMPS.
Для вызова из оболочки Windows скрипта сохраненного в файле нужно зарегистрировать расширение файла и назначить ему обработчик. Для скриптов на языке MUMPS будем использовать файлы с расширением .mumps. В качестве обработчика назначим командный файл mshell.cmd, который сохраним в рабочем подкаталоге MiniM \bin.
Далее в примере приводятся файлы как если бы MiniM Database Server был установлен в каталог w:\MiniM\
Для ассоциирования расширения файла с обработчиком надо внести дополнительные записи в реестр Windows. Пример как это можно сделать, в нотации файлов реестра:
В самом скриптовом файле на языке MUMPS можем использовать макросы, подпрограммы и точечный синтаксис, как если бы это была обычная рутина MiniM Database Server.
Выполнение .mumps скрипта начинается с его первой строки и продолжается либо до команды выхода quit либо до команды halt. Скрипт может использовать все возможности сервера MiniM Database Server. Процесс запускается в базе данных указанной в конфигурационном файле сервера minim.ini как база для процессов по умолчанию, секция [Process], ключ Namespace.
При работе скрипта он получает параметры командной строки, которые при исполнении скрипта доступны как индексированная локальная переменная %param. Например, при запуске скрипта
Загрузить инсталлятор MiniM Shell Scripts (exe, 290 Kb)
Для вызова из оболочки Windows скрипта сохраненного в файле нужно зарегистрировать расширение файла и назначить ему обработчик. Для скриптов на языке MUMPS будем использовать файлы с расширением .mumps. В качестве обработчика назначим командный файл mshell.cmd, который сохраним в рабочем подкаталоге MiniM \bin.
Далее в примере приводятся файлы как если бы MiniM Database Server был установлен в каталог w:\MiniM\
Для ассоциирования расширения файла с обработчиком надо внести дополнительные записи в реестр Windows. Пример как это можно сделать, в нотации файлов реестра:
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.mumps] @="MUMPS Script" [HKEY_CLASSES_ROOT\MUMPS Script\DefaultIcon] @="W:\\MiniM\\bin\\minim.exe,0" [HKEY_CLASSES_ROOT\MUMPS Script\Shell\Open\Command] @="\"w:\\MiniM\\bin\\mshell.cmd\" \"%1\" %*"Файл обработчик должен передать параметры процессу MiniM:
@echo off w:\minim\bin\minim.exe -x "d RUN^%%MSHELL(\"%1\",\"%2\",\"%3\",\"%4\",\"%5\", \"%6\",\"%7\",\"%8\",\"%9\")" -hЗдесь вызывается специальная устанавливаемая нами рутина ^%MSHELL, которая должна выполнить действия:
- Указанный в параметре файл прочитать и создать на его основе временную рутину MiniM
- Временная рутина должна иметь имя производное от служебного префикса и иметь суффикс производный от номера процесса, чтобы одновременное выполнение двух и более скриптов не мешало друг другу
- Временная рутина должна быть скомпилирована в исполняемый байткод
- Полученный временный байткод должен быть выполнен как рутина
- По окончании работы временная рутина и ее байткод должны быть удалены
%MSHELL %MSHELL ; MiniM MUMPS Shell scripts q RUN(%fname,%param...) n %rname="MSHELL"_$j,%n,%line n %dev="|FILE|"_%fname,%eof=$v("proc",5,0) k ^rMAC(%rname) o %dev:("rt") u %dev s %n=1 f r %line q:$zeof d . s ^rMAC(%rname,%n)=%line . s %n=%n+1 u 0 c %dev i $v("proc",5,%eof) i '$$COMP^%MPP(%rname) g err i $v("rou","c",%rname) g err d @("^"_%rname) k ^rMAC(%rname),^ROUTINE(%rname),^rOBJ(%rname) q err w !,"Failed to compile script file",!,%fname,! r "Press any key to remove this routine and terminate.",!,*%n k ^rMAC(%rname),^ROUTINE(%rname),^rOBJ(%rname) qВ результате полной настройки мы можем создавать текстовые файлы в любом каталоге с расширением .mumps и запускать их так же как командные или другие скриптовые файлы.
В самом скриптовом файле на языке MUMPS можем использовать макросы, подпрограммы и точечный синтаксис, как если бы это была обычная рутина MiniM Database Server.
Выполнение .mumps скрипта начинается с его первой строки и продолжается либо до команды выхода quit либо до команды halt. Скрипт может использовать все возможности сервера MiniM Database Server. Процесс запускается в базе данных указанной в конфигурационном файле сервера minim.ini как база для процессов по умолчанию, секция [Process], ключ Namespace.
При работе скрипта он получает параметры командной строки, которые при исполнении скрипта доступны как индексированная локальная переменная %param. Например, при запуске скрипта
run.mumps option1 option2локальная переменная %param получает значения:
%param=8 %param(1)="option1" %param(2)="option2" %param(3)="" %param(4)="" %param(5)="" %param(6)="" %param(7)="" %param(8)=""Загрузить архив с исходными текстами MiniM Shell Scripts (zip, 3Kb)
Загрузить инсталлятор MiniM Shell Scripts (exe, 290 Kb)
Комментариев нет:
Отправить комментарий