Глава IV. Команди реализирани със средствата на езика за управление на базите

Това към момента са команди реализиращи различни видове цикли и такива за архивиране и разархивиране на база или части от нея.

Команди разширяващи възможностите на езика

Примери за използването на следващите команди има в папката "libs/src" от демонстрационния пакет описан в раздела "Какво ни е необходимо преди да продължим?".

{ ?. }

Цикъл ДОКАТО

Проверява дали резултата от условието е true и ако е така изпълнява тялото на цикъла в противен случай продължава с изпълнението на следващата команда.
параметри:
{CONDITION} - условие
{BODY} - тяло на цикъла
Реализация:
Използване:

{ .? }

Цикъл ПРАВИ ДОКАТО

Изпълнява тялото на цикъла, след което проверява дали резултата от условието е true и ако е така отново изпълнява тялото на цикъла в противен случай продължава с изпълнението на следващата команда.
параметри:
{BODY} - тяло на цикъла
{CONDITION} - условие
Реализация:
Използване:

{ _?._ }

Цикъл ПРАВИ ЗА ВСЕКИ

1. Инициализира цикъла.
2. Проверява дали резултата от условието е true и ако е така изпълнява тялото на цикъла.
3. Приключва цикъла.
параметри:
{INIT} - подготовка преди началото на цикъла
{CONDITION} - условие
{BODY} - тяло на цикъла
{CLEAN} - приключване след края на цикъла
Реализация:
Използване:

{ _.?_ }

Цикъл ПРАВИ ЗА ВСЕКИ, като тялото му се изпълнява поне веднъж

1. Инициализира цикъла.
2. Изпълнява тялото на цикъла, проверява дали резултата от условието е true и ако е така отново изпълнява цикъла.
3. Приключва цикъла.
параметри:
{INIT} - подготовка преди началото на цикъла
{BODY} - тяло на цикъла
{CONDITION} - условие
{CLEAN} - приключване след края на цикъла
Реализация:
Използване:

Команди за управление на базите

Команди за архивиране и разархивиране на база или части от нея.

ZZZ2TXT

Записва текущото множество от указаната база към текст

параметри:
{BASE} - името на базата, в която е множеството
{PID} - идентификатор на процеса за четене или запис
Реализация:
Използване:

ZZZ2TXTFromPath

Записва множество от указаната база и път към текст

параметри:
{BASE} - името на базата, в която е множеството
{PATH} - път в базата
Реализация:
Използване:
Формата на един ред от текстовия резултат е следния:

[ниво на вложеност (64 битово шестнадесетично число)][,][дължина на елемента(64 битово шестнадесетично число)][,][подравняващи символи с брой равен на нивото на вложеност][елемент]

Пример:
`0000000000000000,000000000000000F,Интернет адреси`

`0000000000000000` - главно ниво;
`000000000000000F` - дължината на елемента е 15 символа;
Няма подравняващи символи, защото нивото на вложеност е нула;
`Интернет адреси` - самият елемент.

ZZZ2TXTFromDividerPath

Записва множество от указаната база и път с разделители към текст

параметри:
{BASE} - името на базата, в която е множеството
{PATH} - път в базата с разделители
{DIV} - разделител използван в пътя
Реализация:
Използване:
Формата на един ред от текстовия резултат е следния:

[ниво на вложеност (64 битово шестнадесетично число)][,][дължина на елемента(64 битово шестнадесетично число)][,][подравняващи символи с брой равен на нивото на вложеност][елемент]

Пример:
`0000000000000000,000000000000000F,Интернет адреси`

`0000000000000000` - главно ниво;
`000000000000000F` - дължината на елемента е 15 символа;
Няма подравняващи символи, защото нивото на вложеност е нула;
`Интернет адреси` - самият елемент.

TXT2ZZZ

Прочита текущото множество в указаната база от текст и връща true при успех

параметри:
{BASE} - името на базата, в която е множеството
{PID} - идентификатор на процеса за четене или запис
{TXT} - текста, който трябва да преобразуваме в множество
{RESULT} - името на променливата, в която да запишем резултата от преобразуването
Реализация:
Използване:
Формата на един ред от текстовия резултат е следния:

[ниво на вложеност (64 битово шестнадесетично число)][,][дължина на елемента(64 битово шестнадесетично число)][,][подравняващи символи с брой равен на нивото на вложеност][елемент]

Пример:
`0000000000000000,000000000000000F,Интернет адреси`

`0000000000000000` - главно ниво;
`000000000000000F` - дължината на елемента е 15 символа;
Няма подравняващи символи, защото нивото на вложеност е нула;
`Интернет адреси` - самият елемент.

TXT2ZZZToPath

Прочита множество в указаната база и път от текст

параметри:
{BASE} - името на базата, в която е множеството
{PATH} - път в базата
{TXT} - текста, който трябва да преобразуваме в множество
Реализация:
Използване:
Формата на един ред от текстовия резултат е следния:

[ниво на вложеност (64 битово шестнадесетично число)][,][дължина на елемента(64 битово шестнадесетично число)][,][подравняващи символи с брой равен на нивото на вложеност][елемент]

Пример:
`0000000000000000,000000000000000F,Интернет адреси`

`0000000000000000` - главно ниво;
`000000000000000F` - дължината на елемента е 15 символа;
Няма подравняващи символи, защото нивото на вложеност е нула;
`Интернет адреси` - самият елемент.

TXT2ZZZToDividerPath

Прочита множество в указаната база и път с разделители от текст

параметри:
{BASE} - името на базата, в която е множеството
{PATH} - път в базата с разделители
{DIV} - разделител използван в пътя
{TXT} - текста, който трябва да преобразуваме в множество
Реализация:
Използване:
Формата на един ред от текстовия резултат е следния:

[ниво на вложеност (64 битово шестнадесетично число)][,][дължина на елемента(64 битово шестнадесетично число)][,][подравняващи символи с брой равен на нивото на вложеност][елемент]

Пример:
`0000000000000000,000000000000000F,Интернет адреси`

`0000000000000000` - главно ниво;
`000000000000000F` - дължината на елемента е 15 символа;
Няма подравняващи символи, защото нивото на вложеност е нула;
`Интернет адреси` - самият елемент.