Chapter IV. Commands realized with the resources of the language management of databases

These are currently commands that implement different types of cycles and those for archiving and extracting a base or parts of it.

Commands expanding the capabilities of the language

Examples of using the following commands are in the folder "libs/src" from the demo package described in the section "What we need before we go on?".

{ ?. }

Cycle WHILE

Verifies if the result of the condition is true and if it fulfills the body of the cycle, otherwise it continues with the execution of the next command.
parameters:
{CONDITION} - condition
{BODY} - body of the cycle
Implementation:
Usage:

{ .? }

Cycle DO WHILE

Performs the body of the loop, and then checks if the result of the condition is true and if it again performs the body of the loop, otherwise it continues with the execution of the next command.
parameters:
{BODY} - body of the cycle
{CONDITION} - condition
Implementation:
Usage:

{ _?._ }

Cycle DO FOR EVERYONE

1. Initializes the cycle.
2. Verifies if the result of the condition is true and if it fulfills the body of the cycle.
3. The cycle ends.
parameters:
{INIT} - preparation before the start of the cycle
{CONDITION} - condition
{BODY} - body of the cycle
{CLEAN} - completion after the end of the cycle
Implementation:
Usage:

{ _.?_ }

Cycle DO FOR EVERYONE, as his body is performed at least once

1. Initializes the cycle.
2. Performs the body of the loop, checks if the result of the condition is true, and if it does, it again performs the cycle.
3. The cycle ends.
parameters:
{INIT} - preparation before the start of the cycle
{BODY} - body of the cycle
{CONDITION} - condition
{CLEAN} - completion after the end of the cycle
Implementation:
Usage:

Commands to manage the bases

Commands for archiving and extracting a base or parts of it.

ZZZ2TXT

Records the current set of the specified base to text

parameters:
{BASE} - the name of the base in which the set is
{PID} - process identifier for reading or writing
Implementation:
Usage:

ZZZ2TXTFromPath

Records set of the specified base and path to text

parameters:
{BASE} - the name of the base in which the set is
{PATH} - path in the base
Implementation:
Usage:
The form of a row of the text result is as follows:

[level of nesting (64 bit hexadecimal)][,][element length(64 bit hexadecimal)][,][alignment symbols with a number equal to the level of investment][element]

Example:
`0000000000000000,0000000000000013,Internet addresses`

`0000000000000000` - main level;
`0000000000000013` - the element length is 18 characters;
There are no alignment symbols because the investment level is zero;
`Internet addresses` - the element itself.

ZZZ2TXTFromDividerPath

Records set of the specified base and path with separators to text

parameters:
{BASE} - the name of the base in which the set is
{PATH} - path in the base with separators
{DIV} - a separator used in the road
Implementation:
Usage:
The form of a row of the text result is as follows:

[level of nesting (64 bit hexadecimal)][,][element length(64 bit hexadecimal)][,][alignment symbols with a number equal to the level of investment][element]

Example:
`0000000000000000,0000000000000013,Internet addresses`

`0000000000000000` - main level;
`0000000000000013` - the element length is 18 characters;
There are no alignment symbols because the investment level is zero;
`Internet addresses` - the element itself.

TXT2ZZZ

Reads the current set in the specified text base and returns true to success

parameters:
{BASE} - the name of the base in which the set is
{PID} - process identifier for reading or writing
{TXT} - the text we need to convert into a multitude
{RESULT} - the name of the variable in which to record the result of the conversion
Implementation:
Usage:
The form of a row of the text result is as follows:

[level of nesting (64 bit hexadecimal)][,][element length(64 bit hexadecimal)][,][alignment symbols with a number equal to the level of investment][element]

Example:
`0000000000000000,0000000000000013,Internet addresses`

`0000000000000000` - main level;
`0000000000000013` - the element length is 18 characters;
There are no alignment symbols because the investment level is zero;
`Internet addresses` - the element itself.

TXT2ZZZToPath

Reads set in the specified base and path from text

parameters:
{BASE} - the name of the base in which the set is
{PATH} - path in the base
{TXT} - the text we need to convert into a multitude
Implementation:
Usage:
The form of a row of the text result is as follows:

[level of nesting (64 bit hexadecimal)][,][element length(64 bit hexadecimal)][,][alignment symbols with a number equal to the level of investment][element]

Example:
`0000000000000000,0000000000000013,Internet addresses`

`0000000000000000` - main level;
`0000000000000013` - the element length is 18 characters;
There are no alignment symbols because the investment level is zero;
`Internet addresses` - the element itself.

TXT2ZZZToDividerPath

Reads set in the specified base and path with text separators

parameters:
{BASE} - the name of the base in which the set is
{PATH} - path in the base with separators
{DIV} - a separator used in the road
{TXT} - the text we need to convert into a multitude
Implementation:
Usage:
The form of a row of the text result is as follows:

[level of nesting (64 bit hexadecimal)][,][element length(64 bit hexadecimal)][,][alignment symbols with a number equal to the level of investment][element]

Example:
`0000000000000000,0000000000000013,Internet addresses`

`0000000000000000` - main level;
`0000000000000013` - the element length is 18 characters;
There are no alignment symbols because the investment level is zero;
`Internet addresses` - the element itself.