DBASE.COM  базы данных OS-DOS Орион-128, CP/M-80

Работаем с базами данных DBASE под CP/M-80 Орион Софт OS-DOS

Продаю платы и наборы микросхем, куплю микросхемы Купить программы, микросхемы, готовые блоки запчастей ПК Орион-128

Все версии CP/M-80

Все версии ORDOS

 Авторский контроллер НГМД. Мы собираем именно такой и на нем работаем.  Читайте про пакет Атлас. Также дискеты можно отформатировать из под ORDOS пакетом программ Атлас.

Дискеты должны быть отформатированы в OS DOS (CP/M-80) программой FORMAT.COM и на дискету записана система OS DOS V3.60  программой SYS.COM или SG360.COM

Руководство системного программиста OS DOS ORION-SOFT

Ниже приведена справочная информация по системе  субдр-8,которая представляет собой систему управления базой данных общего назначения, предназначенную, для работы на 8 - разрядных микро-эвм под управлением операционной системы ос1800. Здесь приводится описание содержимого дистрибутивной дискеты системы и общие правила использования команды  "help". Справочная информация является дополнением "руководства пользователя", которая может помочь вам в изучении и освоении системы субдр-8.

Правила использования команды "help"

После появления на экране символов ">>===>:" для продолжения просмотра нужно нажать любую клавишу. Выход из команды help выполняется с помощью ключа "ус-{".
Для того, чтобы получить справочную информацию, нужно ввести команду: help <ключевое слово>

ключевыми словами являются:

система help функции ключи сообщения термины примеры ограничения <имя команды>

Если информация в файле domsg.txt отсутствует, выводится сообщение "этой справки нет".

*exit
*help

Средства "help" системы субдр-8

Средства вывода справочной информации позволяют вам получить на экран краткое описание команд системы, включая правила их написания и примеры их использования.
Такая информация может быть получена с помощью команды:
help <имя команды>
кроме того, вы можете получить дополнительную справочную информаию из других разделов файла  domsg.txt, задавая в команде help вместо <имени команды>  следующие ключевые слова:
система help функции ключи сообщеня термины примеры ограничения

После появления на экране символов ">>===>:" просмотр информации можно продолжить, нажав любую клавишу. Выход из команды help осуществляется с помощью ключа "ус-{".

Ниже приведен перечень всех команд системы, информация о которых со- держится в файле domsg.txt и может быть выведена по вашему запросу. Другие важные сведения приведены в разделе -- "система".

? -- вывод значений выражений.
?? -- вывод значений выражений на текущую строку.
` -- форматизация при выводе и редактировании данных.
accept -- ввод символьных данных во временную переменную.
append -- добавление записей в конец базы данных.
browse -- полноэкранное редактирование базы данных.
cancel -- прекращение выполнения командного файла.
call -- вызов процедуры пользователя.
change -- обновление указанных полей записей.
clear -- установка исходного состояния памяти субдр-8.
continue-- позиционирование записи по условию. Продолжает операцию команды locate.
copy -- копирование баз данных.
count -- подсчет записей.
create -- создание базы данных.
delete -- удаление файлов и занесение признаков удаления в записи.
display -- вывод информации на видеотерминал и печатающее устройство.
do -- управление выполнением командного файла.
edit -- выборочное обновление записей.
eject -- управление устройством печати.
erase -- очистка экрана.
find -- позиционирование записи по индексу.
go/goto -- позиционирование по номеру записи.
help -- оказание помощи.
if -- выполнение команд в зависимости от условия.
index -- индексирование базы данных.
input -- ввод данных во временную переменную.
insert -- добавление записей в базу данных.
join -- об'единение двух баз данных.
load -- загрузка файла с процедурой пользователя.
list -- вывод информации на видеотерминал и  печатающее устройство.
locate -- позиционирование записи по условию.
modify -- модификация описания базы данных, структуры командного файла.
note/* -- задание комментариев в командных файлах.
pack -- уничтожение записей.
poke -- запись процедуры пользователя непосредственно в оперативную память.
quit -- завершение работы субдр-8.
read -- установка режима полного экрана для редактирования.
recall -- снятие признаков удаления.
reindex -- обновление индексных файлов.
release -- освобождение памяти временных переменных.
remark -- задание и вывод комментариев.
rename -- переименование файлов.
replace -- обновление указанных полей записей по заданным выражениям.
report -- подготовка и выдача отчета.
reset -- восстановление системы после смены диска.
restore -- восстановление в памяти временных переменных.
return -- завершение выполнения командного файла.
save -- сохранение временных переменных.
select -- установка активности области.
set -- установка параметров функционирования команд.
skip -- позиционирование относительно текущей записи.
sort -- сортировка записей базы данных.
store -- формирование временной переменной.
sum -- суммирование числовых полей записей базы данных.
text -- создание и вывод блока текста в командном файле.
total -- вычисление промежуточных итогов.
update -- обновление записей базы данных данными другой базы.
use -- открытие/закрытие баз данных.
wait -- останов при выполнении командного файла.
*exit
*terminy
*термины
>>> файл "domsg.txt" --- раздел "термины"

Терминология системы субдр-8

<выражение> -- данное или группа данных и операций, значение которых может быть определено системой . <выражение> может иметь тип "с", "n" или "l" в зависимости от типа генерируемого данного.

<временная переменная> -- имя временной переменной, использующейся для хранения промежуточных результатов и/или параметров.

<индексный файл> -- имя индексного файла.

<команда> -- любая команда или функция системы

<ключ> -- комбинация полей одного типа, использующаяся для создания индексного файла или поле для сортировки базы данных

<маска> -- спецификация однотипных файлов, имеющих совпадающие символы в именах; при этом используются символы операционной системы "?" и "*". То же для временных переменных.

<поле> -- имя поля в записи.

<переменная> -- имя временной переменной или поля базы данных.

<разделитель> -- любой специальный символ, использующийся для разграничения данных. например, апостроф ('), кавычка ("), запятая(,), двоеточие (:) и т.п.

<строка> -- имя символьной переменной или ограниченная апострофами (''), кавычками ("") или  квадратными скобками ({}) константа.

<список выражений> -- список выражений,разделенных запятыми.

<список полей> -- список имен полей,разделенных запятыми.

<список временных переменных> -- список имен временных переменных, разделенных запятыми.

<сфера действия> -- число записей, обрабатываемых в одной команде системы.  Возможны следующие значения:
all - все записи базы данных;
next< n> - следующие <n> записей, включая текущую;
record <n> - запись с номером <n>.

<файл> -- имя файла.

<числовое выражение> -- выражение с числовым значением.

<n> -- константа с числовым значением.

*exit
*kl`~i
*ключи
>>> файл "domsg.txt" --- раздел "ключи"

все команды :

ус-x,f -- перемещение курсора на следующее поле
ус-e,a -- перемещение курсора на предыдущее поле
ус-d -- перемещение курсора на один символ вправо
ус-s -- перемещение курсора на один символ влево
ус-g -- исключение символа в позиции курсора
ус-y -- стирание поля справа от курсора
ус-v -- переключение режимов перезаписи и вставки
ус-w -- сохранение изменений и возврат в режим ввода команд
вш/зб -- исключение символа слева от курсора

команда browse:

ус-b -- смещение окна на одно поле вправо
ус-z -- смещение окна на одно поле влево

команда edit:

ус-u -- установка/снятие признака исключенной записи
ус-c -- запись данных на диск и переход к следующей записи
ус-r -- запись данных на диск и возврат к предыдущей записи
ус-q -- потеря изменений и возврат в режим ввода  команд
ус-w -- запись всех изменений на диск и возврат в режим ввода команд

команда modify:


ус-t -- исключение текущей строки
ус-n -- включение новой строки
ус-c -- перевод половины страницы
ус-q -- потеря всех изменений и возврат в режим ввода команд
ус-w -- запись изменений на диск и возврат в режим ввода команд

команда append

<вк> -- завершение добавления, если курсор находится в первой позиции первого поля
ус-w -- сохранение записи на диске и переход к  следующей записи
ус-q -- потеря текущей записи и возврат в режим ввода команд

режим ввода команд:

ус-p -- включение/выключение печати
ус-r -- повторение последней выполненной команды
ус-x -- стирание строки команды без ее выполнения
ус-н -- возврат на один символ
ус-m -- <вк>
ус-s -- останов/продолжение выполнения команды
ус-{ -- аварийное завершение команды
*exit
*?
*??
>> ? --- определяет и выводит значение выражения. В командных файлах может указываться без выражения, что приводит к выводу пустой строки.

синтаксис:

? {<список выражений>}
?? {<список выражений>}

форма команды ?? выводит результат в начало текущей строки.

примеры:
? 6/3
2
? 'город'
город
? гор (поле открытого файла)
калинин
*exit
*`
>> ` ---
Выводит форматированные данные на видеотерминал или печатающее устройство в соответствии с заданными координатами (х,у), где х - номер строки и у - номер позиции в строке

синтаксис:

` <координаты> {say <выражение> {using'<format>'}
{get <переменная> {picture '<format>'}}

примеры:

` 3,23 say кол* 1.06 using '$$$,$$$,99'
` 14,23 say "введите номер телефона";
get тел picture '###-##-##'
` линия+2,45 say итог using '99999.99'
*exit
*accept
>> accept ---запрашивает ввод строки во временную переменную.

синтаксис:

accept {'< строка>'} то <переменная>

примеры:

.accept " введите ваше имя" то имя
введите ваше имя: филатов в. с.
. ? имя
филатов в. с.
*exit
*append
>> append ---команда имеет следующие три формы:

> append from <файл> {for <выражение>} или append from <файл> {sdf} {delimited} {for <выражение>}---
Добавляет данные из базы данных или из файла в системном формате в конец открытой базы данных. Помеченные для исключения записи не добавляются.

примеры:
append from продукт for имя = 'н'
append from test.txt delimited

>append blank ---добавляет в конец открытой базы данных пустую запись.
>append ---Добавляет в конец открытой базы данных новые записи и автоматически обновляет открытые  индексные файлы.
*exit
*browse
>> browse ---Включает режим полноэкранного редактирования и позволяет изменять данные в открытой базе данных.

синтаксис:

browse {fields <список полей>}
*exit
*call
>> call ---Начинает выполнение процедуры пользователя с адреса, указанного в команде set call to <адрес>.

синтаксис:

call {переменная}
*exit
*cancel
>> cancel ---Прекращает выполнение командного файла и осуществляет возврат в режим ввода команд.

синтаксис: cancel

пример: фрагмент командного файла

accept "какую операцию выполнять дальше?" to oper
if oper = 'конец'
cancel
endif
*exit
*change
>> change ---Позволяет выполнять обновление открытой базы данных на уровне отдельных полей в режиме обычного редактирования. выход из команды  выполняется с помощью ключа <ус-{>.

синтаксис:

change {<сфера действия>} field <список> {for
<выражение>}

пример:

.change all field код for код = '90045'
запись: 00123
kod : 90045
замена?
Введите заменяемые символы и нажмите ключ <вk>. Затем введите новые данные или нажмите ключ <вk>. И переход к следующей записи базы данных -нажатием ключа <вк> на вопрос "замена?"
*exit
*clear
>> clear ---Закрывает все открытые базы данных, исключает все временные переменные, выполняет выбор первичной рабочей области.

>> clear gets ---Очищает экран только от значений переменных, заданных в фразе get команды `.
*exit
*copy
>> copy ---Копирует открытую базу данных или только ее  структуру в другой файл. если файл указанный во фразе 'to <файл>', не существует, то он будет создан системой. если файл уже существует, все содержащиеся в нем данные будут разрушены. записи, помеченные как исключенные, не копируются.

команда имеет следующие основные три формы:

> copy to <файл> {<сфера действия>} {field <список>} {for <выражение>}
> copy to <файл> {sdf} {delimeted {with <разделитель>}} {for <выражение>}
> copy to <файл> structure {field <список>} ---копирование структуры базы данных
> copy to <файл> structure extended ---Создает новую базу данных, записи которой содержат описание открытой базы данных.
*exit
*count
>> count ---Определяет число записей в открытой базе  данных, удовлетворяющих заданному критерию. По умолчанию обрабатывает все записи базы данных.

синтаксис:

count {<сфера действия>} {for <выражение>}
{to <временная переменная>}

пример:

.count next 15 for год < '85' to вп1
*exit
*create
>> create ---создает новую базу данных.

команда имеет следующие две формы:

> create <имя файла> --- Создает новую базу данных и запрашивает описание ее структуры.

> create <новый файл> from <старый файл> extended ---Создает новую базу данных, структура  которой описана данными <старого файла>.  Используется вместе с командой copy structure
extended.
*exit
*delete
>> delete ---исключает файл или записи.

команда имеет следующие три формы:

> delete file <файл> --- исключает указанный файл.

> delete {<сфера действия>} {for <выражение>} ---Маркирует записи как исключенне (устанавливает символ '*'). Физическое удаление записей выполняется  командой pack.
По умолчанию сфера действия - текущая запись.

примеры:

delete all for продукт= '12345'
delete record 15
*exit
*display
>> display ---Выводит требуемую информацию из базы данных или системную информацию.

команда имеет следующие пять форм:

> display files {on <диск>} {like <маска>} ---Выводит перечень файлов, расположенных на указанном диске.

> d тогда, когда в операциях сравнения строк  все символы в строках совпадают. (в фразах for <выражение, командах find и т.д).
"off" - допускается сравнение строк различной длины.

> set intensity {on/off} ---"on" - обеспечивается двойная яркость при  полноэкранных операциях (если позволяет аппаратура).
"off" - двойная яркость выключается.

> set linkage {off/on} ---"on" - обеспечивается возможность всем последовательным командам, которые имеют
фразу <сфера действия>, выполнять позиционирование как в первичной, так и во вторичной рабочих областях, одновременно.
"off" - связывание баз данных отменяется.

> set print {off/on} ---"on" - вся информация выводится на  печатающее устройство.
"off"- информация на печать не выводится.

> set raw {off/on} ---"on" - содержимое записей базы данных по командам "display" и "list" выводится без  пробелов между полями.
"оff" - между полями данных выводится дополнительный пробел.

> set screen {on/off} ----"on" - для команд append, edit, create, insert  выполняются полноэкранные операции.
"off" - полноэкранные операции не выполняются.

> set step {off/on} ----"on" - после завершения выполнения каждой команды с целью облегчения отладки командного  файла его выполнение прерывается.
"off" - командный файл выполняется без прерываний.

> set talk {on/off} ---"on" - результаты выполненных команд выводятся на видеотерминал.
"off" - результаты на виеотерминал не выводятся.

> set alternate to {<файл>} ---Создается и открывается файл типа .тхт, в котором при задании set alte on будет сохраняться информация, появляющаяся на экране. Если существовал файл с заданным именем, он стирается.

> set alternate to --- закрывается <файл> .тхт.

> set call to <адрес> ---Указывается <адрес> (десятичное число)  точки входа в процедуру пользователя.

> set date to <ьь/ьь/ьь> ---Сохраняется строка системной даты, но не осуществляется проверка ее достоверности.

> set default to <диск> ---Указывается устройство, на котором расположен диск с файлами, создаваемыми субдр-8.

> set format to <screen/print> ---screen - результат команды "`" выводится на видеотерминал. print - результат выводится на печатающее устройство.

> set format to {<файл формата экрана>} ---Открывается файл формата экрана, который  используется для форматирования экрана при  выполнении команд append, edit, insert, create, read.

> set format to - закрывается открытый файл формата экрана.

> set heading to <строка> ---Запоминается <строка>, которая выводится как часть заголовка отчета при выполнении команды report.

> set index to <список индексных файлов> ---Открываются индексные файлы (не более семи) для соответствующей базы данных, которые будут автоматически обновляться, отражая любые изменения в базе данных. первый по списку индексный файл считается главным, т.е. только он используется для команд просмотра и упорядочения базы данных.

> set index to ---Закрываются все индексные файлы.

> set margin to <n> ---Устанавливается левая граница печатающего устройства на kолонку <n>.
*exit
*skip
>> skip {-} {<n>} ---Позиционирует указатель текущей записи перед и назад на "n" записей в пределах открытой  базы данных. значение по умолчанию +1.
*exit
*sort
>> sort ---Создает копию базы данных, отсортированную по одному полю. упорядочение осуществляется по значению кода кои-7. не обрабатывает записи, отмеченные для удаления. по умолчанию сортировка осуществляется в возрастающей последовательности.

синтаксис:

sort on <имя поля> то <имя файла> {asсending / descending}

пример:

. use список
. sort on код to сорткод descending
*exit
*store
>> store --Вычисляет значение выражения и запоминает его во временной переменной.

синтаксис:

store <выражение> то <временная переменная>

пример:

. store 3 to номер 3
. store номер + 9 to номер2
12
. store 'иванов' to имя
иванов
. ? номер+номер2, имя
15 иванов
*exit
*sum
>> sum ---Вычисляет и выводит суммы числовых значений выражений открытой базы данных. задание фразы то позволяет сохранить результаты суммирования  в заданных временных переменных. Значение по умолчанию фразы <сфера действия> - все неудаляемые записи.

синтаксис:

sum <выражение> {,<выражение2>,...} {<сфера действия>} {to <список временных переменных>} {for <выражение>}

пример:

. use список
. sum кол * номер for код = 'ключ'
. sum номер for код = 'поршень' to п1
. sum номер, номер * кол for код = 'поршень'
.and.кол>9.00
*exit
*text
*endtext
>> text ---Выводит из командного файла блок текста без выполнения команд ` или ?. Текст выводится непосредственно на экран или печать до введения  команды endtext.
*exit
*total
>> total ---Суммирует значения указанных полей открытой базы данных, удовлетворяющих заданному ключу.  Результаты суммирования с ключами помещаются в новую базу данных, определенную во фразе то. Для выполнения этой команды необходимо, чтобы база данных была отсортирвана или  проиндексирована по указанному ключу.

синтаксис:

total to <файл> on <ключ> {fields <список полей>}
*exit
*update
>> update ---Выполняет групповое обновление предварительно отсортированной или индексированной открытой базы данных. если ключи записей в открытой базе данных и базе данных, заданной фразой from, совпадают, данные из базы данных from либо добавляются к данным открытой базы данных, либо замещают данные в полях перечисленных в списке.

синтаксис:

update from <файл> on <ключ> {add <список полей>} {replace <список полей> или <поле> with <список полей>} {random}
*exit
*use
>> use ---Открывает/закрывает базу данных. заданние фразы index открывает перечисленные индексные файлы.

синтаксис:

use <файл> {index <список индексных файлов>}
*exit
*wait
>> wait ---Переводит командный файл в состояние  ожидания ввода любого одного символа и после его ввода продолжает выполнение программы.

синтаксис:

wait {to <временная переменная>}

*exit
*funkcii
файл "domsg.txt" --- раздел "функции"


> ` (<строка1>,<строка2>) ---Функция поиска подстроки. генерирует числовое данное, значением которого является номер символа, начинающего <строку1> в <строке2> .

> * ---Функция определения удаленной записи. Генерирует логическое данное, со значением "истина", если текущая запись помечена для удаления.

> # ---Функци определения номера записи. генерирует целое число, соответствующее номеру текущей записи.

> !(<строка>) ---Функция преобразования символов верхнего регистра в символы нижнего регистра.

> $(<строка>,<начало>,<длина>) ---Функция формирования подстроки. Генерирует символьное данное из определенной части <строки>.
> &<переменная>{.}
Функция подстановки (макро). имя переменной, указанное после &,заменяется соответствующим значением переменной. точка (.) в конце ставится  в том случае, если макро стоит слева от константы.

> chr<<числовое выражение>> ---функция преобразования числа в символ кода кои-7.

> date () ---переводит символьную строку, содержащую системную дату, в формат **/**/**.

> eof ---Функция определения конца файла. генерирует логическое данное, значение которого равно "истина", если была сделана попытка обратиться к следующей, после последней, записи базы данных.

> file(<файл>) ---Функция определения существования файла. Генерирует логическое данное, значение которого равно "истина", если файл существует на диске, и "ложь" в противном случае.

> int(<числовое выражение>) ---функция определения целой части числового выражения.

> len(<строка>) ---функция определения длины <строки>.

> peek(<числовое выражение>) ---функция определения значения байта оперативной памяти, расположенного по адресу заданным числовым выражением.

> rank(<строка>) ---Функция определения числового значения первого символа кода кои-7 <строки>.

> str(<числовое выражение>,<длина>{,<точность>}) --- Функция преобразования числового данного в символьное.

> test(<выражение>) ---Функция проверки выражения. генерирует числовое данное, значение которого не равно 0, если выражение верно и грамматически правильно,и равно 0,если это не так.

> trim(<строка>) ---функция удаления завершающих пробелов.

> type(<выражение>) ---функция определения типа данного. генерирует символьное данное длиной 1 и значением 'c', 'n', 'l' или 'u' в зависимости от типа выражения (символьное, числовое, логическое или неопределенное).
> val(<строка>) ---функция преобразования цифровых символов в целое число.

*exit
*ograni~eniq
*ограничения

>>> файл "domsg.txt" --- раздел "ограничения"

число полей в записи 32 максимум
число символов в записи 1000 максимум
число записей в базе данных 65535 максимум
число символов в строке 254 максимум
разрядность чисел 10 цифр
число символов в команде 254 максимум
число выражений в команде sum 5 максимум
число символов в заголовке report 254 максимум
число полей в команде report 24 максимум
число символов в ключе индекса 99 максимум
число текущих команд get 64 максимум
число одновременно открытых файлов 16 максимум
*exit
*soob}eniq
*сообщения
>>> файл "domsg.txt" --- раздел "сообщения"

*** деление на 0 --- была выполнена попытка разделить численное  выражение на ноль.
*** неверно ---переписать подстроку (&) с правильными параметрами.
*** неизвестная команда ---проверьте орфографию. субдр-8 не понимает команду.
*** ошибка синтаксическая ---субдр-8 не понимает команду.
> 5 выражений суммирования --- команда sum ограничена 5 выражениями. Изза данных не субдр-8 ---открываемая база данных создана не при помощи субдр-8.
выражение нечисловое ---команда sum требует числовое выражение.
вложенность > допустимой --- одновременно может быть открыто не более 16 командных файлов.
временных переменных > 64 ---может быть максимум 64 временных переменных.
диск полон ---на диске нет пространства, используйте команду delete file для стирания некоторых ненужных файлов.
длина записи > 1000 символов ---уменьшите размер некоторых полей или создайте вторую базу данных с общим ключем.
данное не найдено ---перепишите команду replase или проверьте структуру файла на правильность имени поля.
# записи вне файла ---номер записи больший, чем число записей в базе данных. Запись не существует.
запись вне индекса ---индексный файл не актуализирован после добавления записи.выполните reindex.
имя переменной неверно ----в именах полей и переменных разрешены только алфавитно-цифровые символы и двоеточие.

индекс не принадлежит бд ---субдр-8 не может установить соответствие ключа и базы данных.попытайтесь работать с другим индексным файлом.
индексный файл не открыть ---проверьте правильность написания имени базы данных или индексного файла.
ключи неодинаковой длины ---для команды update требуются идентичные ключи.
команд return > 16 ---вероятно, ошибка в структуре командного файла. Проверьте число и место команд return.
команда join создает > 65534 записей ---фраза for позволяет об'единять слишком много  записей. сделайте ее более строгой.
командный файл не найден ----проверь написание названия файла.
макро - не символьная строка ---переменные, расширяемые при помощи macro (&) должны быть символьными (с) по содержанию.

нет ---субдр-8 не может найти запись с данным значением ключа.
неверна точность ---вновь введите десятичную часть.
неопределенный файл --- внутренняя ошибка. Обратитесь к разработчику (поставщику). Если использовался help,
то может быть файл domsg.txt
отсутствует на устройстве.
неверна длина ---вновь определите размер поля данных в диапазоне 1-254.
неверный тип данных ---sort не может быть выполнена по логическому полю.
неверно имя ---вновь определите имя поля в create.
нет выражений в sum --- для команды sum необходимо выражение для суммирования.
неверен # записи ---адресуемая запись должна быть > о и < 65535.
Н
ельзя insert - в базе данных нет записей ---используйте команду append.
нет места для временных переменных ---уменьшите количество или размер временных переменных.
не верен тип ---должно быть c<символьное>, n<числовое> или l <логическое>.
нет фразы "for" --перепишите команду join с правильным синтаксисом.
нет фразы "from" ---перепишите команду update с правильным синтаксисом.
открытая бд не индексирована ---команду find можно применять только к индексированным базам данных.
открыто > 16 файлов ---максимальное число одновременно открытых любых файлов (бд, командных, индексных, форматов экранов, форм отчетов) 16.
ошибочно достигнут конец файла ---открытая база данных находится в неправильном формате. Если все записи правильны и существуют, то сделайте pack и reindex.

ошибка в описании формата ---в команде ` get фраза picture задана неправильно.
ошибка, повторите ---input,accept,report требуют синтаксически правильного ввода. Предположительно, различные типы данных.
очень много знаков ---(только в режиме полного экрана). введенные данные превышают длину поля.
переменная не найдена ---необходимо создать переменную или проверить правильность написания имени переменной.
каталог полон ---на диске не может поместиться больше ни одного файла.
типы данных в операции не совпадают ---проверьте типы данных, чтобы оба были или числовыми, или символьными, или логическими. Указано > 7 индексных файлов ---максимальное число открытых индексных файлов - 7. Чем их меньше, тем выше производительность.

файл не открыть ---проверь существование или целостность .мем или .нех файлов.
файл уже существует ---удалите нежелаемый файл перед rename.
файл не существует ---используйте display file like *.* для подтверждения существования файла.
файл уже открыт ---выполните use или clear для закрытия файла.
файл формата не открыть ---проверьте целостность .fmt файла.
# файл не определен ---задайте соответствующий .fmt файл.
"to" фраза не найдена ---истогда, когда в операциях сравнения строк все символы в строках совпадают. (в фразах for <выражение, командах find и т.д).
"off" - допускается сравнение строк различной длины.

> set intensity {on/off} ---"on" - обеспечивается двойная яркость при  полноэкранных операциях (если позволяет аппаратура).
"off" - двойная яркость выключается.

> set linkage {off/on} ---"on" - обеспечивается возможность всем  последовательным командам, которые имеют  фразу <сфера действия>, выполнять позиционирование как в первичной, так и во
вторичной рабочих областях, одновременно.
"off" - связывание баз данных отменяется.

> set print {off/on} ---"on" - вся информация выводится на печатающее устройство.
"off"- информация на печать не выводится.

> set raw {off/on} ---"on" - содержимое записей базы данных по командам "display" и "list" выводится без пробелов между полями.
"оff" - между полями данных выводится дополнительный пробел.

> set screen {on/off} ----"on" - для команд append, edit, create, insert выполняются полноэкранные операции.
"off" - полноэкранные операции не выполняются.

> set step {off/on} ----"on" - после завершения выполнения каждой команды с целью облегчения отладки командного файла его выполнение прерывается.
"off" - командный файл выполняется без прерываний.


> set talk {on/off} ---"on" - результаты выполненных команд выводятся на видеотерминал.
"off" - результаты на виеотерминал не выводятся.

> set alternate to {<файл>} ---создается и открывается файл типа .тхт, в котором при задании set alte on будет сохраняться информация, появляющаяся на экране. Если  существовал файл с заданным именем, он стирается.

> set alternate to --- закрывается <файл> .тхт.

> set call to <адрес> ---указывается <адрес> (десятичное число)  точки входа в процедуру пользователя.

> set date to <ьь/ьь/ьь> ---сохраняется строка системной даты, но не осуществляется проверка ее достоверности.

> set default to <диск> ---указывается устройство, на котором расположен диск с файлами, создаваемыми субдр-8.

> set format to <screen/print> ---screen - результат команды "`" выводится на видеотерминал. print - результат выводится на печатающее устройство.

> set format to {<файл формата экрана>} ---otкрывается файл формата экрана, который используется для форматирования экрана при выполнении команд append, edit, insert, create, read.

> set format to - закрывается открытый файл формата экрана.

> set heading to <строка> ---запоминается <строка>, которая выводится как часть заголовка отчета при выполнении команды report.

> set index to <список индексных файлов> ---открываются индексные файлы (не более семи) для соответствующей базы данных, которые будут  автоматически обновляться, отражая любые изменения в базе данных. Первый по списку индексный файл считается главным, т.е. только он используется для команд просмотра и упорядочения базы данных.

> set index to ---закрываются все индексные файлы.

> set margin to <n> ---устанавливается левая граница печатающего устройства на kолонку <n>.
*exit
*skip
>> skip {-} {<n>} ---позиционирует указатель текущей записи перед и назад на "n" записей в пределах открытой базы данных. значение по умолчанию +1.
*exit
*sort
>> sort ---создает копию базы данных, отсортированную  по одному полю. упорядочение осуществляется по  значению кода кои-7. не обрабатывает записи, отмеченные для удаления. По умолчанию сортировка осуществляется в возрастающей последовательности.

синтаксис:

sort on <имя поля> то <имя файла> {asсending / descending}

пример:

. use список
. sort on код to сорткод descending
*exit
*store
>> store ---вычисляет значение выражения и запоминает его во временной переменной.

синтаксис:

store <выражение> то <временная переменная>

пример:

. store 3 to номер 3
. store номер + 9 to номер2
12
. store 'иванов' to имя
иванов
. ? номер+номер2, имя
15 иванов
*exit
*sum
>> sum ---вычисляет и выводит суммы числовых значений выражений открытой базы данных. задание фразы то позволяет сохранить результаты суммирования в заданных временных переменных. Значение по умолчанию фразы <сфера действия> - все неудаляемые записи.

синтаксис:

sum <выражение> {,<выражение2>,...} {<сфера действия>} {to <список временных переменных>} {for <выражение>}

пример:

. use список
. sum кол * номер for код = 'ключ'
. sum номер for код = 'поршень' to п1
. sum номер, номер * кол for код = 'поршень'
.and.кол>9.00
*exit
*text
*endtext
>> text ---выводит из командного файла блок текста без выполнения команд ` или ?. текст выводится непосредственно на экран или печать до введения команды endtext.
*exit
*total
>> total --суммирует значения указанных полей открытой базы данных, удовлетворяющих заданному ключу. Результаты суммирования с ключами помещаются в новую базу данных, определенную во фразе то. Для выполнения этой команды необходимо, чтобы база данных была отсортирвана или проиндексирована по указанному ключу.

синтаксис:

total to <файл> on <ключ> {fields <список полей>}
*exit
*update
>> update ---выполняет групповое обновление предварительно отсортированной или индексированной открытой базы данных. если ключи записей в открытой базе данных и базе данных, заданной фразой from, совпадают, данные из базы данных from либо добавляются к данным открытой базы данных, либо замещают данные в полях перечисленных в списке.

синтаксис:

update from <файл> on <ключ> {add <список полей>}{replace <список полей> или <поле> with <список полей>} {random}
*exit
*use
>> use ---открывает/закрывает базу данных. заданние фразы index открывает перечисленные индексные файлы.

синтаксис:

use <файл> {index <список индексных файлов>}
*exit
*wait
>> wait ---переводит командный файл в состояние ожидания ввода любого одного символа и после его ввода продолжает выполнение программы.

синтаксис:

wait {to <временная переменная>}

*exit
*funkcii
файл "domsg.txt" --- раздел "функции"


> ` (<строка1>,<строка2>) ---функция поиска подстроки. генерирует числовое данное, значением которого являетяся номер символа, начинающего <строку1> в <строке2> .

> * ---функция определения удаленной записи. генерирует логическое данное, со значением "истина", если текущая запись помечена для удаления.

> # ---функци определения номера записи. генерирует целое число, соответствующее номеру текущей записи.

> !(<строка>) ---функция преобразования символов верхнего регистра в символы нижнего регистра.

> $(<строка>,<начало>,<длина>) --- функция формирования подстроки. генерирует символьное данное из определенной части <строки>.
> &<переменная>{.}
функция подстановки (макро). имя переменной, указанное после &,заменяется соответствующим значением переменной. точка (.) в конце ставится  в том случае, если макро стоит слева от константы.

> chr<<числовое выражение>> ---функция преобразования числа в символ кода кои-7.

> date () ---переводит символьную строку, содержащую системную дату, в формат **/**/**.

> eof ---функция определения конца файла. генерирует логическое данное, значение которого равно "истина", если была сделана попытка обратиться к следующей, после последней, записи базы данных.

> file(<файл>) ---функция определения существования файла. Генерирует логическое данное, значение которого равно "истина", если файл существует на диске,
и "ложь" в противном случае.

> int(<числовое выражение>) ---функция определения целой части числового выражения.

> len(<строка>) ---функция определения длины <строки>.

> peek(<числовое выражение>) ---функция определения значения байта оперативной памяти, расположенного по адресу заданным числовым выражением.

> rank(<строка>) ---функция определения числового значения первого символа кода кои-7 <строки>.

> str(<числовое выражение>,<длина>{,<точность>}) ---функция преобразования числового данного в символьное.

> test(<выражение>) ---функция проверки выражения. Генерирует числовое данное, значение которого не равно 0, если выражение верно и грамматически правильно, и равно 0,если это не так.

> trim(<строка>) ---функция удаления завершающих пробелов.

> type(<выражение>) ---функция определения типа данного. Генерирует  символьное данное длиной 1 и значением 'c', 'n', 'l' или 'u' в зависимости от типа выражения (символьное, числовое, логическое или неопределенное).
> val(<строка>) ---функция преобразования цифровых символов в целое число.

*exit
*ograni~eniq
*ограничения
>>> файл "domsg.txt" --- раздел "ограничения"

число полей в записи 32 максимум
число символов в записи 1000 максимум
число записей в базе данных 65535 максимум
число символов в строке 254 максимум
разрядность чисел 10 цифр
число символов в команде 254 максимум
число выражений в команде sum 5 максимум
число символов в заголовке report 254 максимум
число полей в команде report 24 максимум
число символов в ключе индекса 99 максимум
число текущих команд get 64 максимум
число одновременно открытых файлов 16 максимум
*exit
*soob}eniq
*сообщения
>>> файл "domsg.txt" --- раздел "сообщения"

*** деление на 0 --- была выполнена попытка разделить численное  выражение на ноль.
*** неверно ---переписать подстроку (&) с правильными параметрами.
*** неизвестная команда ---проверьте орфографию. субдр-8 не понимает команду.
*** ошибка синтаксическая ---субдр-8 не понимает команду.
> 5 выражений суммирования ---команда sum ограничена 5 выражениями.
база данных не субдр-8 ---открываемая база данных создана не при помощи субдр-8.
выражение нечисловое ---команда sum требует числовое выражение.
вложенность > допустимой ---одновременно может быть открыто не более 16 командных файлов.
временных переменных > 64 ---может быть максимум 64 временных переменных.
диск полон ---на диске нет пространства, используйте команду delete file для стирания некоторых ненужных файлов.
длина записи > 1000 символов ---уменьшите размер некоторых полей или создайте вторую базу данных с общим ключем.
данное не найдено ---перепишите команду replase или проверьте структуру файла на правильность имени поля.
# записи вне файла ---номер записи больший, чем число записей в базе данных.запись не существует.
запись вне индекса ---индексный файл не актуализирован после добавления записи.выполните reindex.
имя переменной неверно ----в именах полей и переменных разрешены только алфавитно-цифровые символы и двоеточие.

индекс не принадлежит бд ---субдр-8 не может установить соответствие ключа и базы данных.попытайтесь работать с другим индексным файлом.
индексный файл не открыть ---проверьте правильность написания имени базы данных или индексного файла.
ключи неодинаковой длины ---для команды update требуются идентичные ключи.
команд return > 16 ---вероятно, ошибка в структуре командного файла. Проверьте число и место команд return.
команда join создает > 65534 записей ---фраза for позволяет об'единять слишком много записей. сделайте ее более строгой.
командный файл не найден ----проверь написание названия файла.
макро - не символьная строка --переменные, расширяемые при помощи macro (&) должныбыть символьными (с) по содержанию.

нет --- субдр-8 не может найти запись с данным значением ключа.
неверна точность ---вновь введите десятичную часть.
неопределенный файл --- внутренняя ошибка. Обратитесь к разработчику (поставщику). Если использовался help, то может быть файл domsg.txt  отсутствует на устройстве.
неверна длина ---вновь определите размер поля данных в диапазоне 1-254.
неверный тип данных ---sort не может быть выполнена по логическому полю.
неверно имя ---вновь определите имя поля в create.
нет выражений в sum ---для команды sum необходимо выражение для суммирования.
неверен # записи ---адресуемая запись должна быть > о и < 65535.
нельзя insert - в базе данных нет записей ---используйте команду append.
нет места для временных переменных ---уменьшите количество или размер временных переменных.
не верен тип ---должно быть c<символьное>, n<числовое> или l<логическое>.
нет фразы "for" --- перепишите команду join с правильным синтаксисом.
нет фразы "from" ---перепишите команду update с правильным синтаксисом.
открытая бд не индексирована ---команду find можно применять только к  индексированным базам данных.
открыто > 16 файлов ---максимальное число одновременно открытых любых  файлов (бд, командных, индексных, форматов экранов, форм  отчетов) 16.
ошибочно достигнут конец файла ---открытая база данных находится в неправильном формате. Если все записи правильны и существуют, то сделайте pack и reindex.

ошибка в описании формата ---в команде ` get фраза picture задана неправильно.
ошибка, повторите ---input,accept,report требуют синтаксически правильного ввода. Предположительно, различные типы данных.
очень много знаков ---(только в режиме полного экрана). введенные  данные превышают длину поля.
переменная не найдена ---необходимо создать переменную или проверить  правильность написания имени переменной.
каталог полон ---на диске не может поместиться больше ни одного файла.
типы данных в операции не совпадают ---проверьте типы данных, чтобы оба были или числовыми, или символьными, или логическими.
указано > 7 индексных файлов ---максимальное число открытых индексных файлов - 7. Чем их меньше, тем выше производительность.

файл не открыть ---проверь существование или целостность .мем или .нех файлов.
файл уже существует ---удалите нежелаемый файл перед rename.
файл не существует ---используйте display file like *.* для подтверждения существования файла.
файл уже открыт ---выполните use или clear для закрытия файла.
файл формата не открыть ---проверьте целостность .fmt файла.
# файл не определен ---задайте соответствующий .fmt файл.
"to" фраза не найдена ---используйте правильный синтаксис.
"with" фраза не найдена --перепишите команду replace с корректным синтаксисом.
"field" фраза не найдена ---перепишите строку команды change.

"on" фраза не найдена ---перепишите команды update или index с корректным синтаксисом.
*exit
*primery
файл "domsg.txt" --- раздел "примеры"

Контрольный пример является средством проверки работоспособности системы и иллюстрирует работу ее команд. Программы контрольного примера реализуют часть задачи автоматизации работы планового отдела предприятия, они позволяют вводить информацию тематического плана предприятия, производить необходимые корректировки и получать распечатку тематического плана по исполнителям, по выполнению работ с подведением итогов по сметной годовой стоимости этих работ.

контрольный пример состоит из следующих командных файлов:

tpl.cmd --- головной
tpl1.cmd --- вызываемый из файла tpl.cmd
tplwwod.cmd --- вызываемый из файла tpl1.cmd
tplkor.cmd --- вызываемый из файла tpl1.cmd
tplud.cmd --- вызываемый из файла tpl1.cmd
tpl2.cmd --- вызываемый из файла tpl.cmd
tplrpt1.cmd --- вызываемый из файла tpl2.cmd
tplrpt2.cmd --- вызываемый из файла tpl2.cmd

входными файлами для выполнения контрольного примера являются:

templant.txt - текстовый файл, содержащий данные для форматирования записей базы данных.
tplstr.dbf - база данных, в записях которой содержится описание структуры формируемой базы данных.
tpl.frm - файл формы отчета.

выходные файлы контрольного примера создающиеся на том же диске, что и входные файлы, следующие:

templan.dbf - база данных
templan.ndx - индексный файл для базы данных templan.dbf

более подробная информация о контрольном примере содержится в документе "описание контрольного примера".
*exit

 

 

    

Купить платы, готовые блоки, наборы микросхем, прошитые ПЗУ, микропроцессоры на Орион-128, КР565РУ5В, КР565ру7В, к565ру5г AU, к565ру7г Au в позолоте, куплю микросхемы

 

Полезные и интересные статьи

На предыдущую страницу  На главную страницу  На следующую страницу