CAT Конкатенация строк.
Формат:
<#CAT [,] {string-expression[,]}* >
Аргументы/Атрибуты:
string-expression |
- строка или текст |
Описание:
Соединяет значения аргументов в единый
текст. В значениях аргументов string-expression
переводы строк заменяются на символ "пробел".
Вместо запятых перед первым аргументом или
между аргументами в текст результата
подставляются символы перевода строки.
Возвращает
полученный таким образом текст.
Признаки:
простой, энергичный
Использование:
Примечание:
Пример:
<#CAT (PATH TYPE=HOME) "\tem\" (name) >
CLASS Получение идентификатора класса.
Формат:
<#CLASS [{[N=]object-name
[C=]class-name}| O=object] >
Аргументы/Атрибуты:
object-name |
- имя объекта |
class-name |
- имя класса объекта |
object |
- идентификатор объекта |
Описание:
Определяет числовой идентификатор
объекта - словаря (класса указанного объекта)
текущей БД.
Объект может быть указан числовым идентификатором object
либо своим
именем object-name и именем своего класса class-name, без атрибутов
"N= C=" ожидается в качестве
первого и второго аргумента. По умолчанию используется текущий объект
текущей БД.
Возвращает числовой идентификатор объекта
- словаря (класса указанного объекта).
Признаки:
простой, ленивый.
Использование:
Примечание:
Пример:
<#SET CurrentClass=(CLASS)>
CLOSE Закрытие БД.
Формат:
<#CLOSE [D=dbname] [TYPE={NOSAVE | DELETE}]>
Аргументы/Атрибуты:
Описание:
Закрывает БД dbname с возможным
сохранением или удалением.
Без атрибута
"TYPE=" БД сохраняется в ассоциированном
с БД файле.
В зависимости от значения атрибута
"TYPE=":
NOSAVE - сохранения БД в файл при закрытии не
происходит;
DELETE - сохранения БД в файл при закрытии не
происходит,
удаляется ассоциированный с БД файл.
По умолчанию сохраняет и закрывает
текущую БД.
Ничего не возвращает.
Признаки:
простой, ленивый.
Использование:
Примечание:
Пример:
<#CLOSE "MyDB.ab" TYPE=DELETE>
Закрываем и удаляем БД "MyDB.ab".
CODE Получение текста DDL-кода БД
полностью или частично.
Формат:
<#CODE [TYPE={ALL | DATA | STRUCT | {OBJ [{N=object-name
C=class-name}| O=object]} | {CLA C=class-name}
| {REL R=relation-name}}] [D=dbname] >
Аргументы/Атрибуты:
object-name |
- имя объекта |
class-name |
- имя класса объекта |
object |
- идентификатор объекта |
relation-name |
- имя отношения |
dbname |
- путь к файлу БД |
Описание:
Возвращает текст на языке описания данных
(DDL-код)
содержимого БД dbname или текущей (по умолчанию)
полностью или частично.
В зависимости от
значения аргумента атрибута "TYPE="
возвращается:
ALL- вся БД целиком (по умолчанию);
DATA- только данные;
STRUCT- только дескрипторы данных;
CLA- только объекты с именем класса class-name;
REL- только связи с именем отношения relation-name;
OBJ- только объект, либо указанный
числовым идентификатором object или своим
именем object-name и именем своего класса class-name,
либо текущий, по умолчанию.
Признаки:
простой, ленивый.
Использование:
Примечание:
Пример:
<#LOAD TEXT=(CODE D=((XBASE)"Test\AIS.AB") TYPE=CLA C="Личность" )>
Загружаем в текущую БД DDL-код объектов класса
"Личность" из БД "AIS.AB"
COMP Строковое сравнение.
Формат:
<#COMP string-expression-1 string-expression-2>
Аргументы/Атрибуты:
string-expression-1 |
- строка или
строковое выражение 1 |
string-expression-2 |
- строка или
строковое выражение 2 |
Описание:
Возвращает результат сравнения двух
строк с учетом регистра в числовом виде.
Если первая строка больше второй, или
указан всего один аргумент, возвращает
положительное число (1), если первая строка
меньше второй, то возвращает отрицательное число (-1 ), если строки равны,
или не указано ни одного аргумента, возвращает 0.
Признаки:
простой, ленивый.
Использование:
Примечание:
Пример:
<#IF (EQ (COMP (s1)(s2)) 0)> s1 = s2 <#/>
COMPIC Строковое сравнение без учета
регистра.
Формат:
<#COMPIC string-expression-1 string-expression-2>
Аргументы/Атрибуты:
string-expression-1 |
- строка или
строковое выражение 1 |
string-expression-2 |
- строка или
строковое выражение 2 |
Описание:
Возвращает результат сравнения двух
строк без учета регистра в числовом виде.
Если первая строка больше второй, или
указан всего один аргумент, возвращает
положительное число (1), если первая строка
меньше второй, то возвращает
отрицательное число (-1 ), если строки равны,
или не указано ни одного аргумента,
возвращает 0.
Признаки:
простой, ленивый.
Использование:
Примечание:
Пример:
<#IF (EQ (COMP (s1)(s2)) 0)> s1 = s2 <#/>
COND Выбор действия по условию.
Формат:
<#COND {condition action}+ [default-action]
>
Аргументы/Атрибуты:
condition |
- условие выполнения действия |
action |
- действие |
default-action |
- действие по умолчанию |
Описание:
Последовательно проверяет каждое из
представленных условий condition. При выполнении
одного из условий выполняется
единственное действие action. Если не выполняется
ни одно из условий, выполняется действие по
умолчанию default-action.
Возвращает
результат выполненного действия.
Признаки:
простой, ленивый.
Использование:
Примечание:
Пример:
<#COND
(Asp_Is_StrValue)
(Show_Asp_Ref_Val1(OBJ)(ASPID)(at))
(Asp_Is_Item1) (Show_Asp_Ref_Item(OBJ)(ASPID)(at))
(Asp_Is_Items) (Show_Asp_Ref_Item(OBJ)(ASPID)(at))
(Show_Asp_Ref_Alt(OBJ)(ASPID)(at))
>
CONV Преобразования строки, заданной
выражением.
Формат:
<#CONV {{UPP | LOW | ARRANGE | SORT | W2D | D2W | ENCODE
| DECODE | NAMECHK | IDCHK | NAMEVER} = text}|{MATCH=text
MASK=mask}>
Аргументы/Атрибуты:
text |
- исходная строка
или текст |
mask |
- маска
|
Описание:
В
соответствии с атрибутом производит различные
преобразования текста:
Атрибут |
Действие |
UPP |
- конвертирует
исходный текст text
в текст, каждый буквенный символ
которого переводится в верхний
регистр. |
LOW |
- конвертирует
исходный текст text
в текст, каждый буквенный символ
которого переводится
в нижний
регистр. |
ARRANGE |
- конвертирует
исходный текст text
в текст с
упорядоченными по возрастанию
строками. Исходный текст
рассматривается как множество строк
Name=Value. В результирующем тексте эти
строчки упорядочиваются и среди них
удаляются строчки с дублирующими Name: т.е.
при равенстве Name остается более
поздняя в исходном тексте строка.
|
SORT |
- конвертирует
исходный текст text
в текст с
упорядоченными по возрастанию
строками. |
W2D |
- конвертирует
исходный текст text
из кодировки WIN
в DOS |
D2W |
- конвертирует
исходный текст text из кодировки DOS
в WIN |
ENCODE |
- конвертирует по
отдельности каждую строку исходного текста text
в текст формата URL (все символы в
строках исходного текста, кроме
цифр и букв латинского алфавита,
заменяются на ascii-коды символов в
шестнадцатеричной записи с символом
"%" перед каждым ascii-кодом) Если
исходный текст из множества строк –
они преобразуются по отдельности и
переводы строк не перекодируются. |
DECODE |
- конвертирует
исходный текст text
из формата URL в обычный текст (обратный
ENCODE). Если исходный текст из множества
строк – они преобразуются по
отдельности и переводы строк не
перекодируются. |
NAMECHK |
- конвертирует
исходный текст text
в текст, состоящий только из строк, соответствующих разрешенным
именам объектов, остальные строки (или
единственная неправильная строка) в
результате удаляются. |
IDCHK |
- конвертирует
исходный текст text
в текст, состоящий только из строк,
соответствующих идентификаторам,
остальные строки (или единственная
неправильная строка) в результате
удаляются. |
NAMEVER |
- конвертирует
исходный текст text
в текст, состоящий только из букв
латинского и русского алфавита, цифр,
знаков "_" и "-"; остальные символы заменяются на
знак "_". Если исходный текст из
множества строк – они преобразуются по
отдельности и переводы строк не
перекодируются. |
MATCH |
- конвертирует
исходный текст text
в текст, состоящий только из строк,
соответствующих маске, остальные
строки (или единственная неправильная
строка) в результате удаляются. Если маска не
указана, возвращает пусто. |
MASK |
- маска mask для
поиска совпадений в строках исходного
текста, состоит
из:
1) символов. Каждый символ
маски должен соответствовать
единственному символу в исходной
строке. Сравнение нечувствительно к
регистру.
2) наборов символов. Каждый набор
начинается с открывающей скобки
"[" и заканчивается закрывающей
скобкой "]". Между скобками -
элементы набора. Каждый элемент -
символ или диапазон. Диапазоны
определяются начальным символом
диапазона, далее черта (-), и
заключительным символом. Не
используйте пробелы или запятые для
определения элементов набора. Набор
должен соответствовать единственному
символу в исходной строке. Символ
исходной строки соответствует набору,
если он имеется в наборе, или он
находится в одном из диапазонов в
наборе. Символ находится в диапазоне,
если он соответствует начальному
символу диапазона, конечному символу,
или находится между ними. Все сравнения
нечувствительны к регистру. Если
первый символ после открывающей скобки
набора - знак восклицания (!), то набор
соответствует любому символу, который
не находится в наборе.
3) групповых символов. Групповые
символы - звездочка "*" или знак
вопроса "?". Звездочка
соответствует последовательности
любой длины произвольных символов
исходной строки. Знак вопроса
соответствует единственному
произвольному символу исходной строки. |
Возвращает результат преобразования
текста.
Признаки:
простой, ленивый.
Использование:
Примечание:
Пример:
<#CONV MATCH=(x) MASK="a*">
оставляем только строки (х) начинающиеся с
буквы "a".
|