Читать книгу Макросы Datamine. Ресурсный геолог - - Страница 8
Макросы
Структура макросов
ОглавлениеИз чего состоят макросы
Итак, макрос – это текстовый файл. В этом текстовом файле содержится набор команд, которые необходимо выполнить 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. Ну и плюс: если строка вашего макроса слишком длинная, читать его не очень удобно. Это не единственное ограничение, остальные будут описаны в подходящий момент.
9
https://softwareengineering.stackexchange.com/questions/148677/why-is-80-characters-the-standard-limit-for-code-width