Макросы Datamine. Ресурсный геолог - страница 8
Подсветка синтаксиса. Редактор поддерживает и имеет готовые настройки подсветки синтаксиса для множества языков. Еще больше готовых вариантов можно скачать из сети. К сожалению, подсветки синтаксиса языка макросов Datamine нет, но редактор без проблем позволяет создать свой собственный набор для подсветки.
Заготовки (сниппеты). К сожалению, Notepad++ изначально не поддерживает функцию сниппетов. Но при желании можно добавить данный функционал, используя плагины.
Подключение плагинов. К редактору можно найти большое количество плагинов, которые значительно расширяют возможности при редактировании файлов. Все плагины полностью бесплатны и находятся в свободном доступе.
Portable-версия. Редактор официально поддерживает переносной режим. Скачать версию Portable можно с официального сайта, ссылка на который была приведена ранее.
$ Задание 2.1
Запустится ли данный макрос?
A) Да
B) Конечно нет. Datamine – уважаемое ПО и не запускает макросы, написанные в «Блокноте»
C) Нет. Datamine не понимает код без подсветки синтаксиса
Макросы
Структура макросов
Из чего состоят макросы
Итак, макрос – это текстовый файл. В этом текстовом файле содержится набор команд, которые необходимо выполнить Datamine для получения нужного вам результата. Команды макросов всегда начинаются с восклицательного знака. Команды макросов можно разделить на:
1. «Внутренние» команды макросов – команды для организации выполнения макроса. Давайте назовем их по-программистски «операторами». К этой разновидности команд можно отнести:
– Оператор присвоения LET. С помощью этого же оператора могут выполняться некоторые функции – как арифметические, так и строковые: получение целой части, абсолютного значения, максимума/минимума, степенные, показательные, логарифмические и тригонометрические функции; изменения регистра строки, определение длины строки, поиск подстроки в строке и т. д.
– Условный оператор IF.
– Оператор безусловного перехода GOTO.
– Операторы «общения» с пользователем ECHO и PROMPT.
– Операторы организации подпрограмм GOSUB и RETURN.
– Оператор запуска команд ОС OPSYS.
– Оператор запуска другого макроса XRUN.
– Операторы чтения файлов FILES и FIELD.
– Другие операторы, которые с ходу не вспомнить, но которые будут описаны по ходу настоящей книги.
– Другие операторы, которые с ходу не вспомнить и которые не будут описаны в книге, но которые вы наверняка найдете сами, если будете копаться в руководстве и справке.
2. Команды запуска процессов. Эти команды начинаются с имени соответствующего процесса, перед которым (ожидаемо) должен присутствовать восклицательный знак. Например, процесс EXTRA запускается командой `!EXTRA`.
Команды будут упомянуты и более подробно описаны по мере возникновения в них необходимости согласно логике изложения материала. Более «сухое» и официальное описание команд можно найти в справочных материалах.
Ограничения
Сразу пару слов об ограничениях (а вы думали, что все так просто?). До некоторой версии (мы сами не заметили до какой) длина одной строки в макросе не должна была превышать 80 символов. Причина такого ограничения, вероятно, уходила корнями в седую древность9 (если кто не знал, то код Datamine минимум до версий Datamine Studio 3.* был написан на практически «мертвом» Visual Fortran). Все, что выходило за пределы 80 символов, Datamine нагло игнорировал. С некоторых пор это ограничение снято, но мы бы рекомендовали его придерживаться с целью обратной совместимости – вдруг ваш макрос попадет в руки пользователю, который не в курсе, что вышли новые версии Datamine. Ну и плюс: если строка вашего макроса слишком длинная, читать его не очень удобно. Это не единственное ограничение, остальные будут описаны в подходящий момент.