Абриаль 2.0 http://www.artint.ru/packin/abrial А.И.Пацкин [mailto:aleksandr@tochka.ru]
README 2.0 ] Абриаль 2.0 ] Введение (1.6) ] Обзор (1.6) ] Публикации ] Глоссарий ] Оглавление ] Руководство ] Выше ] _ operations ] A ] B ] [ C ] D ] E ] F ] G ] H-I ] L ] M ] N ] O ] P ] R ] S ] T-X ]

C


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 - путь к файлу БД

Описание:

Закрывает БД 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".


 

Все права защищены. © 2000-2003 РосНИИ ИИ
http://www.artint.ru
Copyright. © 2000-2003 by RRIAI
Александр Иосифович Пацкин [mailto:aleksandr@tochka.ru].
07 марта, 2004

К началу документа.