MiniM Overview |
MiniM
Additional Tools | ENG | Jun 11,
2010 Универсальный MUMPS-commander AltNC Download anc414.zip (zip, 1.75Mb) Download anc412.zip (zip, 685Kb) Download anc406.zip (zip, 160Kb) О программе Менеджер для работы с рутинами и глобалами в MUMPS системах. Работает под следующими MUMPS системами: MSM (4 версия и выше), Cache, M21, M3-Lite, GT.M, Mumps 1.47, MiniM. Программа выполнена в алфавитно-цифровом интерфейсе и может работать как в консоли, так и в телнете, в том числе удаленно. Весь инструментарий основан на идеях В текущее время инструментарий находится в разработке. ![]() ![]() ![]() Инсталляция Импортировать рутины программы стандартными утилитами в системные (% области)
Для msm должен быть открыт доступ к не % глобалам (non % globals) в системной области (W/R) иначе при переходе в не системный кип возникает ошибка PROT если после этого возникает таже ошибка - удалить все глобалы ^a* в системном кипе программой ^%GCH открыть доступ (R) или (R/W) к глобалу ^SYS Запуск d ^%aNC Терминалы Для всех систем описаны консоли а так же некоторые терминалы которыми я пользуюсь сам. Описание терминала заключается в присвоении кодов клавиш терминала мнемоникам клавиш. Естествено описать все варианты просто невозможно. Поэтому описывать клавиши в большинстве случаев придется самим. Если ^%aNC не знает терминал в котором находится то он просто не реагирует на нажатие клавиш (доступны только Enter и Ctrl+X и символьные) (Если попали в панельный экран и нет никакой реакции на клавиши не спешите насильно закрывать окно терминала или отрубать M-систему там тоже работает Ctrl-X или же вы можете в командной строке набрать команду Halt - символьные клавиши и Ent работают) Для описания клавиатуры нужно нажать клавишу Ctrl+X Первыми нужно описать 4 клавиши Esc, Enter, ArrowUP, ArrowDown просто нажатием соответствующих клавиш. Их достаточно для последующего описания. Подчеркиваю если например при запросе ESC вы нажмете любую другую клавишу то эта и только эта клавиша будет воспринимаится как ESC. Нажатие на разных мнемониках одной и той же клавиши воспринимается как отказ от описания клавиатуры. После описания основных четырех клавиш можно описывать остальные Подводите псевдокурсор на мнемонику - нажимете Enter -появится приглашение Press key=> далее нажимаете клавишу соответствующую этой мнемонике Тут же высвечивается код термнала соответствующей этой клавише. И так описываем все клавиши. Некоторые клавиши могут не описываться или совпадать - например в большинстве терминалов коды F1 и Ctrl+F1 совпадают - ничего страшного - немного пострадает функциональность ^%aNC и все. Кстати именно поэтому у меня все Ctrl функции можно вызывать через Shift Shift клавиши описываются в значительно большем количестве терминалов чем Ctrl. После описания клавиш запускается генератор инициализирующих программ ^%aINI* doinit^%aZ который включает ваше описание в инициализацию. Если хотите перенести ^%aNC в другое место с уже описанными вами терминалами переносите все программы ^%a* стандартными средствами или используйте мой генератор d RS^%aZкоторый экспортирует все нужные программы в c:\anc.rtn c:\anc.gtm в DOS /anc.rtn /anc.gtm в Linux Естествено этот вариант будет отличатся от моего стандартного на ваше описание. Если хотите что-бы я включил описание вашего терминала в свою поставку шлите мне ветку ^aaWin("t",ваш терминал) Я описываю это все так подробно потому что описание терминала это основополагающий момент работы продукта. Немного о терминалах которыми пользуюсь сам. Это
Работа Для знакомых с Far или norton cоmmander работа не вызовет затруднений: все комбинации клавиш (насколько возможно) максимально приближены к ним. К тому же во всех основных режимах доступна интерактивная помощь по F1. Доступны 7 и 8 битный режим работы. При регистрации их можно изменять нажатием клавиши TAB. Рамки прорисованы в стандартной досовской кодировке типа CP866 или CP437. Например во встороеном терминале М3 при использовании 8-битного режима вместо рамки - крокозяблики. Поэтому тут лучше использовать 7-битный режим. То же самое относится ко многим линуксовым терминалам. В некоторых при использовании 8-битного режима даже экран сыплется . Какой режим использовать - выбирайте сами. Строковые блочные функции доступны почти во всех режимах редактирования там где осуществляется любой набор. То есть из редактора глобалов можно переносить блок в редактор программ и обратно и т.д. исключение составляет разве что командная строка В редакторе по Ctrl+U или Ctrl+F5 доступен режим UNDO. Старый код редактируемых программ при записи, копировании на ее место другой и т.д записывается в буфер "deleted routines", так что всегда можно посмотреть старый код по Ctrl+F8 и при необходимости вернуть - не напрямую -а через блочные функции. - я в свое время очень страдал от невозможности вернуть старый код. Подчеркиваю - все блочные функции (строковые и многострочные) начинаются с установки псевдомаркера по Ctrl+B Очень удобно пользоваться фильтром по Ctrl+F для панелей Недавно сочинил утилиты для записи программ.глоблов в HFS и восстановления их оттуда - вызываются по Ctrl+F4, Ctrl+F5 соответственно. Очень удобно для миграции между системами. Все форматы определяются автоматически, понимает все стандартные форматы всех систем кроме zwr для глобалов в gtm. Для глобалов сочинил свой формат - anc. Если глобалы в индексах или в данных имеют управляющие символы то в большом количестве систем проблемы с восстановлением этих глобалов - формат anc их решает. Старайтесь не использовать в коммандной строке команду [b]reak-вы прервете выполнение alt-NC и что-бы вернуться в ^%aNC нужно набрать соответвующую команду - например в msm - zgo, в gtm zgo $zl-1, в каше [g]oto без параметров Кроме того у некоторых своя система записи в файл - строка заканчивается $c(10) (линуксовый формат файла) вместо $c(13,10) как обычно. Попробуйте например программы выгнанные утилитой ^%RO из gtm востановить в msm - не получится и наоборот тоже мои утилиты это автоматически определяют. Терминалы, выбор кодовой страницы При запуске ^%aNC появляется окно с предложением ввести идентификатор пользователя. Идентификотор пользователя - это любой символьный набор, различный для каждого пользователя (Если просто нажать Enter без набора,то по умолчанию пользователю присвоится идентификатор "0" при работе с ^%aNC сохраняются индивидуальные настройки пользователя (в ветку ^aNC(id)) (в какой area работал, c какими программами, в какой кодировке, места редактируемых программ при выходе из редактора (при повторном входе в программу возвращаемся в то же место (если включена соответствующая опция) также записываются блоки копирвания, сохраняются старые версии программ и тд - в общем все, относящееся к работе конкретного пользователя) Там же указано "клавишей TAB можно сменить кодировку" Что это значит? Следует понимать что с M-системой можно работать, подключаясь через множество различных терминалов в этих терминалах чаще всего можно выбирать кодировку в которой работаешь, можно по разному задавать раскладку клавиатуры, задавать любые комбинации esc-последовательностей, возвращаемые при нажатии функциональных клавиш и тд) в общем вариантов великое множество Для того что-бы ^%aNC работал корректно используемый терминал должен быть "знаком" ^%aNC - то.есть должено быть произведено описанание терминала) Некоторые терминалы, используемые мной описаны в поставке ^%aNC, но если ^%aNC не реагирует на клавиши, или реагирует не корректно, то вам нужно описать терминал самим - нажимаем Ctrl-X - и в простенькой програмке знакомим ^%aNC с вашим терминалом - там все просто - становимся на мнемонику клавиши - нажимаем Enter и нажимаем ту клавишу на клавиатуре которая будет соответствовать этой мнемонике) Если описание клавиш терминала произвести достаточно просто, то с кодовой страницей, используемой терминалом дело обстоит иначе: M-сервер (за редким исключением) НЕ МОЖЕТ определить в какой кодировке находится подключаемый терминал. Так что предлагая выбрать кодировку в окне регистрации, я реально предлагаю всего лишь указать ^%aNC - в какой кодировке будет работать терминал. выберете неправильно -будут кракозяблики на экране. Еще раз почеркиваю: Выбирая кодировку в ^%aNC вы говорите что подключаемый терминал находится в этой кодировке - ничего более. Далее M-Сервер через ^%aNC будет посылать на терминал сигналы в той кодировке которую вы указали Так что можно сказать, что выбирая кодировку в ^%aNC, вы говорите, что M-сервер (в среде ^%aNC) установлен в эту кодировку Теперь о кодировках: ^%aNC поддерживает: DOS CP866 WIDOWOS KOI-8R UTF-8 - для M-систем поддерживающих unicode Однако , если вы по нажимаете TAB в окне регистрации увидите еще одну чудную кодировку TTERMPRO Дело в следующем: как известно винтовая CP1251 НЕ ИМЕЕТ ПСЕВДОГРАФИКУ а это значит , что в терминальном режиме в принципе нет возможности в этой кодировке иметь нормальные, например, рамки и еще много чего, все это приходится эмулировать, причем - если вы посмотрите на рамку в кодировке WINDOWS - не самым лучшим образом Поскольку большое количество данных содержится именно в этой кодировке то в среде ^%aNC приходится работать с CP1251 - прямо скажем - не эстетичном виде: работоспособно - но очень не красиво. Из этой ситуации есть два выхода: 1. Есть терминалы ttermpro и esctermpro - свободно распространяемые. Так вот в них реализована возможность работая в винтовой кодировке иметь нормальные рамки Делаем следующее Menu->Setup->Terminal и установливаем кодировку Host в Windows ; Client в Windows Далее Menu->Setup->Font и устанавливаем(обязательно) Font ->Terminal Font Char Set ->CP866 и , выбирая уже упомянутую чудную кодировку TTERMPRO в ^%aNC, мы имеем терминал, работающий в кожировке WINDOWS 1251 и симпатишный внешний вид anc. 2. Второй способ работы c %aNC в винтовой кодировке 1521 такой: в окне регистрации указываем кодировку DOS (естественно терминал должен быть настроен принимать данные в CP866) Заходим в редактируемую программу и выбираем (посредством Shift+F8) нужную кодировку и далее все редактирование происходит именно в этой кодировке. Этот способ предпочтительней первого поскольку работает во всех терминалах и на всех консолях М-систем. Лицензия THE UNIVERSAL M(MUMPS)-COMMANDER (ALT-NC) ПОСТАВЛЯЕТСЯ ПО ПРИНЦИПУ "AS IS". НИКАКИХ ОГРАНИЧЕНИЙ В ПРАВАХ НА ИСПОЛЬЗОВАНИЕ ALT-NC НЕТ ALT-NC ПОСТАВЛЯЕТСЯ НА СЛЕДУЮЩИХ УСЛОВИЯХ: НИКАКИХ ГАРАНТИЙ НЕ ПРИЛАГАЕТСЯ И НЕ ПРЕДУСМАТРИВАЕТСЯ. ВЫ ИСПОЛЬЗУЕТЕ ЭТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ НА СВОЙ РИСК. АВТОР НЕ БУДЕТ ОТВЕЧАТЬ НИ ЗА КАКИЕ ПОТЕРИ ИЛИ ИСКАЖЕНИЯ ДАННЫХ, ЛЮБУЮ УПУЩЕННУЮ ВЫГОДУ В ПРОЦЕССЕ ИСПОЛЬЗОВАНИЯ ИЛИ НЕПРАВИЛЬНОГО ИСПОЛЬЗОВАНИЯ ЭТОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ. Download anc414.zip (zip, 1.75Mb) Download anc412.zip (zip, 685Kb) Download anc406.zip (zip, 160Kb) Разработчик Андрей Вологдин
|
|||||||||||||||
Info Support |