|
FILEAPPEND Добавление текста в конец файла.Формат:<#FILEAPPEND file-name text> Аргументы/Атрибуты:
Описание:Дописывает в конец файла file-name текст text. В случае успеха возвращает имя файла без изменений, иначе пусто. Признаки:простой, ленивый. Использование:
Примечание:
Пример:<#IFNOT (FILEAPPEND "result.txt" (FILELOAD "text.txt"))> Дописываем текст файла "text.txt" в конец "result.txt", в случае неудачи генерируем ошибку. FILEEXIST Проверка наличия файла.Формат:<#FILEEXIST file-name> Аргументы/Атрибуты:
Описание:Проверяет наличие файла по указанному пути file-name. Возвращает имя файла без изменений, если файл существует, иначе пусто. Признаки:простой, ленивый. Использование:
Примечание:
Пример:<#IFNOT (FILEEXIST (FileName))> <#ERROR (CAT "Ошибка! " (FileName) " отсутствует!")> <#/> Выводим сообщение об ошибке, если указанный файл отсутствует. FILELOAD Получение текста файла.Формат:<#FILELOAD file-name> Аргументы/Атрибуты:
Описание:В случае успеха возвращает текст содержимого указанного текстового файла file-name, иначе пусто. Признаки:простой, ленивый. Использование:
Примечание:
Пример:<#SET ftext=(FILELOAD "Mytext.txt")> Переменной ftext присваиваем текст содержимого файла "Mytext.txt" из текущей директории. FILESAVE Создание текстового файла и запись текста файла.Формат:<#FILESAVE file-name text> Аргументы/Атрибуты:
Описание:Создает текстовый файл с именем file-name, записывает в него указанный текст text. В случае успеха возвращает имя файла без изменений, иначе пусто. Признаки:простой, ленивый. Использование:
Примечание:
Пример:<#FUNC BackUp=(FILESAVE (PATH CHANGE=(1) TO=".bak") (FILELOAD (1)))> Функция создает резервную копию файла, который указан первым аргументом. FIND Поиск подстроки в строке.Формат:<#FIND string-expression substring> Аргументы/Атрибуты:
Описание:Производит поиск первого вхождения подстроки substring в исходной строке string-expression. Возвращает номер позиции первого символа подстроки substring в исходной строке string-expression начиная с единицы, если вхождение найдено, иначе пусто. Признаки:простой, ленивый. Использование:
Примечание:
Пример:<#IF (pointpos=(FIND (fname) "."))> найдена "." в позиции <#pointpos> <#ELSE> "." отсутствует <#/> Позиция "." в строке (fname) FOR Цикл.Формат:<#FOR initialization condition iteration [body] > [body] <#/> Аргументы/Атрибуты:
Описание:Оператор цикла. Выполняет тело цикла body до тех пор, пока выполняется условие condition. Аргументом initialization может быть указано выражение, которое выполняется только перед началом выполнения итераций. Аргументом condition должно быть указано выражение, представляющее собой условие выполнения тела цикла. Если в результате вычисления выражения condition возвращается пустое значение, очередная итерация не выполняется, цикл заканчивается. Аргументом iteration может быть указано выражение, которое выполняется перед проверкой условия condition после очередного шага цикла. Последним аргументом, тело цикла body может быть указано внутри простого тега в функциональном стиле. Возвращает результат выражения initialization объединенный с вычисленным для каждой итерации телом body, если оно указано, внутри простого тега, затем внутри сложного тега. Признаки:составной, энергичный. Использование:
Примечание:
Пример:<#FOR ((i=0) "<br>инициализация параметра
цикла") FORALLASP Цикл по всем аспектам объекта.Формат:<#FORALLASP [{[N=]object-name [C=]class-name}| O=object] [[RET=]body] > [body] <#/> Аргументы/Атрибуты:
Описание:В теле цикла body поочередно для каждого шага устанавливаются текущими все возможные аспекты объекта текущей БД, включая все наследованные, и в том числе от универсального класса TOBJ. Объект может быть указан числовым идентификатором object или своим именем object-name и именем своего класса class-name, без атрибутов "N= C=" ожидается в качестве первого и второго аргументов. По умолчанию используется текущий объект текущей БД. С атрибутом "RET=", или без него последним аргументом, тело цикла body может быть указано внутри простого тега в функциональном стиле. В случае успеха возвращает объединенный результат вычислений для каждой итерации тела body, сначала внутри простого тега, затем внутри сложного тега. Признаки:составной, ленивый. Использование:
Примечание:
Пример:<br><h3>Аспекты
класса "Личность":</h3> FORALLOBJ Цикл по всем объектам - значениям атрибута.Формат:<#FORALLOBJ [[AN=]aspect-name | A=aspect] [{N=object-name C=class-name}| O=object] [D=dbname] [TO=target-aspect-name] [POS=position] [NUM=number] [[RET=]body] > [body] <#/> Аргументы/Атрибуты:
Описание:Поочередно перебирает все связи указанного объекта через исходный аспект. В теле цикла body, внутри сегмента итераций, устанавливает текущим объект, участвующий в очередной связи по целевому аспекту. Для бинарных связей целевым аспектом является аспект, альтернативный исходному. Таким образом, в теле цикла поочередно для каждой связи итерации устанавливает текущими объекты - значения атрибута указанного объекта. Итерации не начинаются, если начало сегмента итераций превосходит имеющееся количество связей указанного объекта по исходному аспекту и заканчиваются, если пройдены все связи или достигнут конец сегмента. Если размер сегмента итераций не указан или нулевой, производит итерации по всем наличным связям. Если начальная позиция сегмента не указана, либо отрицательная или нулевая, то итерации начинаются с первой наличной связи (POS=1). Сегмент может быть задан с атрибутом "POS=" позицией position первого значения атрибута начиная с единицы и, с атрибутом "NUM=", количеством number значений атрибута в сегменте. Исходный аспект может быть указан числовым идентификатором aspect или своим именем aspect-name, без атрибута "AN=" ожидается в качестве первого аргумента. По умолчанию в качестве исходного аспекта используется текущий. Целевой аспект может быть указан с атрибутом "TO=" своим именем target-aspect-name. Если целевой аспект не указан, и по умолчанию, используется целевой аспект, альтернативный исходному. Для бинарных аспектов объектов достаточно указать исходный аспект, для многоместных аспектов необходимо задавать целевой аспект. Объект может быть указан с атрибутом "O=" числовым идентификатором object либо с атрибутом "N=" своим именем object-name и с атрибутом "C=" именем своего класса class-name. По умолчанию используется текущий объект. Если с атрибутом "D=" указана БД dbname, отличная от текущей, то необходимо явно указывать аспект и объект. По умолчанию используется текущая БД. С атрибутом "RET=", или без него, последним аргументом, тело цикла body может быть указано внутри простого тега в функциональном стиле. В случае успеха возвращает объединенный результат вычислений тела body на каждом шаге итераций сначала внутри простого тега, затем внутри сложного тега. Признаки:составной, ленивый. Использование:
Примечание:
Пример:<#FORALLOBJ AN="увлеч\увлечения" N="Иванов
ИИ" C="Личность" D=((XBASE)"Test\AIS.ab")> Выводим список увлечений конкретной личности. FORASP Цикл по всем связям аспекта.Формат:<#FORASP [[AN=]aspect-name | A=aspect] [{N=object-name C=class-name}| O=object] [D=dbname] [POS=position] [NUM=number] [[RET=]body] > [body] <#/> Аргументы/Атрибуты:
Описание:Поочередно перебирает все связи исходного аспекта указанного объекта. В теле цикла body, для каждой связи внутри сегмента итераций устанавливает текущими указанные объект и исходный аспект. Итераций не происходит, если начало сегмента итераций превосходит имеющееся количество связей указанного объекта по исходному аспекту. Итерации заканчиваются, если пройдены все связи или достигнут конец сегмента. Если размер сегмента итераций не указан или нулевой, производит итерации по всем наличным связям. Если начальная позиция сегмента не указана, либо отрицательная или нулевая, то итерации начинаются с первой наличной связи (POS=1). Сегмент может быть задан с атрибутом "POS=" позицией position первого значения атрибута начиная с единицы и, с атрибутом "NUM=", количеством number значений атрибута в сегменте. Исходный аспект может быть указан числовым идентификатором aspect или своим именем aspect-name, без атрибута "AN=" ожидается в качестве первого аргумента. По умолчанию в качестве исходного аспекта используется текущий. Объект может быть указан с атрибутом "O=" числовым идентификатором object либо с атрибутом "N=" своим именем object-name и с атрибутом "C=" именем своего класса class-name. По умолчанию используется текущий объект. Если с атрибутом "D=" указана БД dbname, отличная от текущей, то необходимо явно указывать аспект и объект. По умолчанию используется текущая БД. С атрибутом "RET=", или без него, последним аргументом, тело цикла body может быть указано внутри простого тега в функциональном стиле. В случае успеха возвращает объединенный результат вычислений тела body на каждом шаге итераций сначала внутри простого тега, затем внутри сложного тега. Признаки:составной, ленивый. Использование:
Примечание:Аналогичен FORLINE. Пример:<#FORASP AN="уч-ст\ученая степень" N="Иванов ИИ" C="Личность"
D=((XBASE)"Test\AIS.ab")> FORCLASSES Цикл по всем классам БД.Формат:<#FORCLASSES [D=dbname] [[RET=]body] > [body] <#/> Аргументы/Атрибуты:
Описание:В теле цикла body поочередно устанавливает текущими объекты - дескрипторы всех пользовательских классов БД dbname или текущей, по умолчанию. С атрибутом "RET=", или без него последним аргументом, тело цикла body может быть указано внутри простого тега в функциональном стиле. В случае успеха возвращает объединенный результат вычислений для каждой итерации тела body, если оно указано, внутри простого тега, затем внутри сложного тега. Признаки:составной, ленивый. Использование:
Примечание:
Пример:<#FORCLASSES D=((XBASE)"Test\AIS.ab") RET="<br>"><#NAME><#/> Выводим имена всех пользовательских классов БД "AIS.ab". FORDB Установка текущей БД.Формат:<#FORDB [D=]dbname [[RET=]body] > [body] <#/> Аргументы/Атрибуты:
Описание:В теле body устанавливает текущей указанную БД dbname. С атрибутом "RET=", или без него последним аргументом, тело body может быть указано внутри простого тега в функциональном стиле. В случае успеха возвращает объединенный результат вычисления тела body, если оно указано, внутри простого тега, затем внутри сложного тега. Признаки:составной, ленивый. Использование:
Примечание:
Пример:<#FORDB D="MyDB.ab"><#DBASE><#/> FORLINE Цикл по всем связям аспекта.Формат:<#FORLINE [[AN=]aspect-name | A=aspect] [{N=object-name C=class-name}| O=object] [D=dbname] [POS=position] [NUM=number] [[RET=]body]> [body] <#/> Аргументы/Атрибуты:
Описание:См. FORASP. Признаки:составной, ленивый. Использование:
Примечание:Аналогичен FORASP. Пример:<#FORLINE > <#/> FORMEDIT Редактирование строки.Формат:<#FORMEDIT [[AN=]aspect-name | A=aspect] [{[N=]object-name [C=]class-name}| O=object] [D=dbname] [LABEL=label] [ROWS=rows] [COLS=columns] [SIZE=size] [OTHER=other] > Аргументы/Атрибуты:
Описание:Генерирует форму редактирования значения
аспекта заданного объекта с кнопкой подтверждения
внесенных изменений, в общем виде: По нажатию кнопки подтверждения, выполняется одно из действий _EDIT или _TEXT. Затем вызывается метод, формирующий текущую страницу (&M=method). Если установлен аспект (текущий или указанный), выполняется действие (&ACT=) _EDIT _VAL=value, иначе выполняется действие (&ACT=)_TEXT _VAL=value. Исходный аспект может быть указан числовым идентификатором aspect или своим именем aspect-name, без атрибута "AN=" ожидается в качестве первого аргумента. Объект может быть указан числовым идентификатором object или своим именем object-name и именем своего класса class-name, без атрибутов "N= C=" ожидается в качестве второго и третьего аргумента. По умолчанию используется текущий аспект текущего объекта текущей БД. Если указана БД dbname, отличная от текущей, необходимо явно указывать объект и аспект. Если указаны "ROWS=" или "COLS=", то формируется тег <textarea name="_VAL" [rows="rows"] [cols={"columns" | "size"}] [other]> [value] </textarea> для редактирования значения аспекта value с указанным количеством строк rows. Если rows<=0 или не указан, по умолчанию rows=3 (три строки). Ширина области редактирования текста устанавливается либо в columns, если "COLS=" указан, либо в size, если "SIZE=" указан. По умолчанию IE устанавливает стандартную ширину. Если не указаны атрибуты "ROWS=" и "COLS=", генерирует однострочное поле ввода: <input type="text" name="_VAL" [size="size"] [other] value="value"> с шириной size, если "SIZE=" указан. По умолчанию IE устанавливает стандартную ширину. Другие параметры формы ввода задаются аргументом other ("disabled","maxlength="). Аргументом label устанавливается название кнопки подтверждения, по умолчанию LABEL="OK!". В случае успеха возвращает полученную таким образом <form>-тег (форму редактирования), иначе пусто. Признаки:простой, ленивый. Использование:
Примечание:
Пример:<br>Ученая степень: FORNEMPASP Цикл по всем непустым аспектам объекта.Формат:<#FORNEMPASP [{[N=]object-name [C=]class-name}| O=object] [[RET=]body] > [body] <#/> Аргументы/Атрибуты:
Описание:В теле цикла body поочередно устанавливает текущими все непустые аспекты объекта (имеющие хотя бы одну связь по аспекту объекта). Объект может быть указан своим именем object-name и именем класса class-name, членом которого он является, без атрибутов "N= C=" ожидается в качестве первого и второго аргументов. По умолчанию используется текущий объект текущей БД. С атрибутом "RET=", или без него последним аргументом, тело цикла body может быть указано внутри простого тега в функциональном стиле. В случае успеха возвращает объединенный результат вычислений на каждом шаге тела body, сначала внутри простого тега, затем внутри сложного тега. Признаки:составной, ленивый. Использование:
Примечание:
Пример:<#FOROBJ (OBJ N="Иванов ИИ" C="Личность")
D=((XBASE)"Test\AIS.ab")> FOROBJ Установка текущего объекта и аспекта.Формат:<#FOROBJ [[O=]object] [AN=aspect-name | A=aspect] [D=dbname] [[RET=]body]> [body] <#/> Аргументы/Атрибуты:
Описание:В теле body устанавливает текущим объект и аспект. Если указана БД dbname, отличная от текущей, то необходимо явно указывать объект и аспект. Объект может быть указан числовым идентификатором object, без атрибута "O=" ожидается в качестве первого аргумента. Аспект может быть указан числовым идентификатором aspect или своим именем aspect-name. По умолчанию внутри тела body используются текущий объект текущей БД. С атрибутом "RET=", или без него последним аргументом, тело body может быть указано внутри простого тега в функциональном стиле. В случае успеха возвращает объединенный результат вычисленного тела body с установленными или текущими объектом и аспектом, сначала внутри простого тега, затем внутри сложного тега. Признаки:составной, ленивый. Использование:
Примечание:
Пример:<#FOROBJ (OBJ N="Names" C="CLASS") D="MyDB.ab" RET="<hr>")><#OBJFORM><#/> Выводим в виде таблицы свойства класса Names БД "MyDB.ab". FUNC Объявление функций.Формат:<#FUNC {function-name=function-body}* > Аргументы/Атрибуты:
Описание:Объявляет функции с именем function-name и телом функции function-body. Ничего не возвращает. Признаки:простой, энергичный. Использование:
Примечание:
Пример:<#FUNC GetObj= > |
|