PARAM Установка именованных
параметров макроса или функции.
Формат:
<#PARAM {variable-name[=value]}+>
Аргументы/Атрибуты:
variable-name |
- имя локальной переменной |
value |
- значение по умолчанию |
Описание:
Локальным переменным variable-name, которым
внутри макроса или функции не присвоены
значения, либо устанавливает значения value,
если для очередной переменной variable-name
указан аргумент value, либо устанавливает значения параметров вызова
макроса или функции в той же позиции, в которой
указана переменная, если не указан аргумент
value для очередной переменной. Если
внутри макроса или функции перед вызовом
PARAM было присвоено непустое значение
переменным, указанным в PARAM, значения таких
переменных не изменяются.
Ничего не возвращает.
Признаки:
простой, ленивый.
Использование:
Примечание:
Пример:
<#MACRO MyMacro>
<#PARAM x y=0 z>
... macro-body ...
<#/>
При вызове макроса <#MyMacro 1 3 4>
параметры примут значения: x=1
y=0 z=4.
PATH Операции с именами файлов.
Формат:
<#PATH {{DIR | DRIVE | EXT | EXPAND | NAME
| PATH | DLMAPP | DLMCUT}=file-name} | {CHANGE=file-name TO=file-extension}
| {MATCH=file-name MASK=mask} | {TYPE={CURR | HOME | DBASE | TEMP}} >
Аргументы/Атрибуты:
file-name |
- строка с именем файла
или список имен файлов (только для MATCH) |
file-extension |
- расширение файла |
mask |
- маска |
Описание:
Выполняет операции над именами файлов в
соответствии с указанным атрибутом.
Атрибут |
Действие |
DIR |
- возвращает путь
к директории файла без расширения,
названия файла и обратного слэша на
конце (символ "\"), если исходная
строка содержит путь, иначе пусто. |
DRIVE |
- возвращает имя
логического диска, включая двоеточие
на конце (символ ":"), если исходная
строка содержит имя логического диска,
иначе пусто. |
EXT |
- возвращает
расширение файла. |
EXPAND |
- возвращает полный путь к
файлу, если в исходной строке указан
относительный путь. |
NAME |
- возвращает
название файла с расширением без пути к
директории. |
PATH |
- возвращает путь
к директории файла, включая обратный
слэш на конце (символ "\"), без
расширения и названия файла, если
исходная строка содержит путь, иначе пусто. |
DLMAPP |
- добавляет в
конец строки file-name обратный слэш (символ "\"), если таковой
отсутствует. |
DLMCUT |
- удаляет из конца
строки file-name обратный слэш (символ "\"), если таковой
присутствует. |
CHANGE |
- изменяет
расширение указанного файла на новое расширение file-extension,
указанное с атрибутом "TO=". |
TO |
- указывает
строку с новым расширением (только
вместе с атрибутом "CHANGE=") |
MATCH |
- возвращает
список имен файлов состоящий только из тех
имен, которые
соответствуют маске mask, указанной с
атрибутом "MASK=", если маска не
указана возвращает пусто. |
MASK |
- указывает маску mask,
по которой производится поиск
совпадений в исходном тексте,
указанному с атрибутом "MATCH=".
Маска состоит
из:
1) символов. Каждый символ
маски должен соответствовать
единственному символу в исходной
строке. Сравнение нечувствительно к
регистру.
2) наборов символов. Каждый набор
начинается с открывающей скобки
"[" и заканчивается закрывающей
скобкой "]". Между скобками -
элементы набора. Каждый элемент -
символ или диапазон. Диапазоны
определяются начальным символом
диапазона, далее черта (-), и
заключительным символом. Не
используйте пробелы или запятые для
определения элементов набора. Набор
должен соответствовать единственному
символу в исходной строке. Символ
исходной строки соответствует набору,
если он имеется в наборе, или он
находится в одном из диапазонов в
наборе. Символ находится в диапазоне,
если он соответствует начальному
символу диапазона, конечному символу,
или находится между ними. Все сравнения
нечувствительны к регистру. Если
первый символ после открывающей скобки
набора - знак восклицания (!), то набор
соответствует любому символу, который
не находится в наборе.
3) групповых символов. Групповые
символы - звездочка "*" или знак
вопроса "?". Звездочка
соответствует последовательности
любой длины произвольных символов
исходной строки. Знак вопроса
соответствует единственному
произвольному символу исходной строки. |
TYPE |
- возвращает в зависимости от
значения аргумента атрибута "TYPE=":
CURR- текущую
директорию;
HOME- директорию, где находится программа (Абриаль);
DBASE- директорию текущей БД;
TEMP- временную
директорию ОС.
|
Признаки:
простой, ленивый.
Использование:
Примечание:
Пример:
<#SET
ext=(PATH EXT=(fname))>
Присваиваем переменной ext строку с
расширением файла имя которого находится в
переменной fname.
PORTION Установка
сегмента повтора внутри цикла.
Формат:
<#PORTION rep-number> [portion-body]
<#/>
Аргументы/Атрибуты:
rep-number |
- количество повторений |
portion-body |
- тело порции |
Описание:
Задает внутри цикла сегмент
повтора portion-body заданное в rep-number количество
раз. Разделяет выдачу на
порции заданного размера. В
цикле перебираются шаги объемлющего цикла и поочередно
устанавливает контекст для них. При выходе
из сегмента повтора выполняется завершение
(и, если цикл еще не окончен - начало)
объемлющего цикла. Сегмент повтора всегда выполняется заданное число раз, даже
тогда, когда объемлющий цикл оканчивается
при неоконченном сегменте повтора. Таким
образом, например, в HTML-таблицах
формируется заданное число элементов, (строк,
столбцов, ячеек), в том числе и не
заполненных содержанием.
Возвращает объединенный результат
вычислений тела порции.
Признаки:
составной, ленивый.
Использование:
Примечание:
Пример:
<TABLE
border=21 width="100%">
<#FORALLOBJ (ITEMS) N=CLASS C=CLASS >
<TR><#PORTION
5> <TD><#NAME></TD>
<#/></TR>
<#/>
</TABLE>
выводим имена
всех классов текущей БД в таблицу порциями
по 5 в строке.
|