REBUS для
OS DOS - базы данных
Орион-128, CP/M-80
Все
версии CP/M-80
Все
версии ORDOS
Авторский контроллер
НГМД. Мы собираем именно такой и на нем работаем. Читайте про
пакет Атлас. Также дискеты можно отформатировать из под
ORDOS
пакетом программ Атлас.
Дискеты должны быть отформатированы в OS DOS
(CP/M-80) программой
FORMAT.COM
и на дискету записана система
OS DOS
V3.60 программой
SYS.COM
или SG360.COM
Руководство системного программиста OS DOS ORION-SOFT
help-файл для субд "ребус" май 1987 года
Предисловие
Этот текст даст вам
необходимую помощь в процессе работы с вашей "ребус"
базой данных. Разместив этот файл на
системном диске, вы сможете в процессе создания и работы с базами данных
получить всю необходимую информацию о командах,
ошибках и т.п.
>>>>> для продолжения - пробел <<<<<
Как
использовать команду <<help>>
Информацию о вашей
системе "ребус" можно получить, набрав слово help
и одно из следующих ключевых слов: (например help news )
rebus help utility
examples
screen scp
system
news limits
functions (или любую команду
или функцию "ребус")
"Ребус" найдет нужную
вам информацию и выведет ее на дисплей. если такой
информации не окажется в данном файле, то "ребус" сообщит вам об
этом. Если текст помощи не
помещается на экран, то в конце экрана появится слово:
пауза
>>>>> продолжить - любая клавиша <<<<<
Для работы "ребус" на
диске должны быть следующие файлы:
rebus.com --основной файл системы
"ребус"
rebusovr.com --все оверлеи и
системные сообщения
rebusmsg.txt --файл помощи (не
нужен,если вы никогда не используете
подсказку)
Остальные файлы на
диске (или на других дисках с системой "ребус")
для работы системы не нужны, их можно использовать отдельно:
*utility
вспомогательные файлы для работы с "ребус":
sets.cmd --этот командный фал восстанавливает
все прежние значения параметров установки.
вы можете изменить этот файл для восстановления
ваших параметров установки.
zip.com --программа-редактор для
быстрого создания форм ввода- вывода
данных. вызывается из scp командой zip
zscrn.ovl --файл для zip.
dgen.ovl --файл для zip, генерирующий файлы
"ребус"
rsort.cmd --командный файл для русской
сортировки.
*exit
*screen
команды управления курсором на полном
экране
ctrl-x сдвигает курсор вниз на след.поле (как
ctrl-f)
ctrl-e курсор вверх на предидущее поле (как
ctrl-a)
ctrl-d курсор вправо на один символ
ctrl-s курсор влево на один символ
ctrl-g удалить символ под курсором
<rubout> or <del> удалить символ слева от
курсора
ctrl-y стереть все от курсора до конца поля
ctrl-v вставка вкл/выкл
ctrl-w записать сделанные изменения и
вернуться в "ребус"
в режиме редактирования
ctrl-u признак удаленной записи вкл/выкл
ctrl-c записать текущую запись на диск и
перейти к следующей
ctrl-r записать текущуюзапись на диск и
перейти к предидущей
ctrl-q игнорировать сделанные изменения записи
и вернуться в "ребус"
ctrl-w записать все изменения и возврат в
редактирование
в режиме browse
ctrl-b сдвинуть экран вправо на одно поле
ctrl-z сдвинуть экран влево на одно поле
в режиме изменения
ctrl-t удалить текущую строку
ctrl-n вставить строку в позиции курсора
ctrl-c вниз на половину экрана
ctrl-w записать все изменения на диск и
вернуться в "ребус"
ctrl-q оставить без изменений и возврат
в режиме добавления записей
<enter> когда курсор в первой позиции первого
поля записи, добавляет новую запись(записи)
в бд
ctrl-w записать на диск запись и перейти к
следующей
ctrl-q оставить без изменений текущую запись и
вернуться в "ребус"
командные клавиши в режиме неполного экрана
ctrl-p вывод на печать вкл/выкл
ctrl-r повторить последнюю команду "ребус"
ctrl-x очистить командную строку
ctrl-h возврат влево
ctrl-m то же, что и ввод
*system
*scp
операционная система scp
данная информация относится к scp версии 5
на большинстве компьютеров используется именно
эта версия. вам необходимо сделать следующее:
i. операционная система
а. scp ограничения, касающиеся "ребус"
об'ем памяти занимаемый "ребус" можно
определить командой:
a>stat *.*
количество записей "ребус", которые можно
разместить на диске можно рассчитывать по
формуле:
кол-во килобайт будут занимать записи
на диске = ((длиназаписи *
колич.записей) + 521) / 1024
б. сообщения об ошибках, выводимые scp --
1. "bdos error on x: bad
sector"
ошибка при чтении
или записи диска. возможные причины:
a) формат диска другой, чем тот, на который
настроен дисковод.
b) диск плохо был вставлен в дисковод.
c) дисковод считывал с диска во время
обращения к нему.
d) диск испорчен (поцарапан, грязный или
мятый)
2. "bdos error on x:
select"
это сообщения
появляется в том случае, когда указано устройство, которое компьютер ваш
не поддерживает.
3. "bdos error on x: read
only"
эта ошибка
возникает при попытке произвести запись на диск
имеющий статус r/o (read-only). диску присваивается r/o статус в
следующих двух случаях: либо заклеена прорезь на диске, либо перед
записью открывали крышку дисковода или меняли диск.
если необходимо записать на диск и защитная прорезь не
заклеена, это можно сделать, нажав ctrl-c ,
если вы в операционной системе, или командой reset в системе "ребус".
*exit
*news
> новые команды и изменения в "ребус" версии "май
1987" новые команды:
help -- возможно использовать подсказку вплоть до
команды.
reindex -- для пересоздания индексного файла.
text -- вывод на экран строк текста от слова
text до endtext.
rank( ) -- функция; возвращает значение в
кои-7 первого символа аргумента дополнения
к имеющимся командам:
append,insert,edit,create -- возможно
использовать форматные файлы для
работы с полным экраном.
browse -- возможен листинг полей и работа
с ними при этом.
display status -- показывает текущие бд/индекснные
ф. и переустановку.
read & replace -- can be
directed not to perform disk accesses
when non-key data is changed.
release -- может
сбрасывать значения подустановл. переменных.
restore -- восстанавливает сброшенные
значения переменных.
save -- записывает значения установл.
переменных.
set raw on -- eliminates
extra spaces in display and ? commands.
update -- replace
clause can have with phrases.
можно использовать
сортировку и индексацию по русскому алфавиту (командный
файл rsort)
*exit
*?
*??
> ? -- выводит на экран значение следующего за
ним выражения. может исполь зоваться также для пропуска чистой строки в
командном файле или в любом другом месте (без
последующего выражения).
. ? 6/3
2
. ? 'city'
city
. ? city (поле
текущего файла )
managua
> ?? -- как и ?, но
результат выходит на той же строке,что и ввод.
*exit
*`
> ` -- команда для форматирования экрана или
печати, устанавливает курсор
в позицию x,y где (x = строка, y = колонка
).
синтаксис: ` <coords> {say
<exp> {using '<picture>'}}
{get
<variable> {picture '<picture>'}}
` 3,23 say amount *
1.06 using '$$$,$$$.99'
` 14,23 say "enter
phone" get phone picture '(###)###-####'
` line+2,45 say total
using '99999.99'
*exit
*accept
> accept -- ввод символьной строки,указанной без
апострофов,с консоли в указанную переменную.
синтаксис: accept {'<prompt cstring>'} to <memvar>
. accept "what is the
worst sin?" to sin
what is the worst
sin?: {user's response stored to sin}
. ? sin
{user's response
displayed}
*exit
*append
> append from <file> {for <exp>}
or
> append from <file> {sdf}
{delimited} {for <exp>}
-- добавление
данных из другой бд или файла в системных форматах
в текущую бд. записи, помеченные как удаленные,
игнорируются и не добавляются в текущую бд.
напимер, append from
maillist for name = 'n'
append
from test.txt delimited
> append blank -- очистка записи, но сама запись
остается.
> append -- добавление новых записей в текущую бд.
(если использованы и индексные файлы, они будут
автоматически дополняться).
*exit
*browse
> browse {fields <field list>} -- включить
редактирование и добавление на полном экране для текущей бд.
*exit
*cancel
> cancel -- прекращение выполнения командного файла
и возврат в систему "ребус".
фрагмент командного
файла:
accept "what should
this humble machine do next?" to next
if next = 'q'
cancel
endif
*exit
*change
> change -- выполнение многих изменений бд по
записям и полям. нажатие клавиши escape включает режим корректировки.
синтаксис: change {<scope>} field <list>
{for <exp>}
. change all field zip
for zip = '90045'
record: 00123
zip: 90045
change?
(введите изменяемые символы и нажмите
<et>. иначе просто <et> для перехода к
следующей записи).
*exit
*clear
> clear -- закрытие всех файлов данных в начальное
состояние, очистка
всех переменных и выбор рабочей области.
> clear gets -- "ребус" "забывает" о всех активных
операторах get,
но не очищает экран.
*exit
*copy
> copy -- копирует текущую бд или только ее
структуру в другой файл. Команда
создаст новый файл с именем <file> если его нет на диске, а
если такой файл есть, то все старые данные в
нем будут разрушены! записи, отмеченные к
удалению, не копируются !
синтаксис: copy to <file>
{<scope>} {field <list>} {for <exp>}
copy to <file> {sdf}
{delimited {with <delimiter>}} {for <exp>}
copy to <file> structure
{field <list>}
*exit
*count
> count -- подсчет числа записей в текущей бд,
удовлетв.некоторому условию.
синтаксис: count {<scope>} {for <exp>} {to <memvar>}
например,
count next 25 for grade > 'b-' to deanlst
*exit
*create
> create {<filename>} --
создание новой базы данных.
*exit
*delete
> delete file <filename> --
удаление файла с именем <filename>.
> delete {<scope>} {for
<exp>} -- отметить запись (записи) к удалению. Ззаписи
отмечаются к удалению (знаком *) но не стираются, пока не
будет дана команда pack. записи могут быть помечены к
удалению как по некоторому условию, так и
по номеру записи.
например, delete
all for company = 'zmb'
delete record 15
*exit
*display
> display files {on <disk
drive>} {like <skeleton>} -- просмотр файлов
на диске
<диск drive>.
например,
display files on b like *.cmd
> display {<scope>} {for <exp>}
{<exp list>} {fields <field list>} {off}
-- показывает
переменные или записи в текущем файле бд.
например, display
next 10 for phone = '415'
> display structure --
поазывает имена полей,типы, длину и дес. точность
(структуру) текущей бд.
> display memory -- показывает имена,типы и
значения всех текущих об'явлен ных переменных памяти.
> display status -- показывает,какие бд открыты,
системную дату, используемые индексные
файлы и текущие установки работы.
*exit
*do
*endcase
*enddo
*loop
> do <file> -- открытие (создание) командного файла.
> do while <exp> -- организация повторяющегося
процесса в командном <commands> файле.выполняются
команды до enddoo столько раз,
{loop} пока условие <exp> верно.
<commands>
enddo
например
use maillist
do while .not. eof
? name
? phone
skip
enddo
команда loop прерывает дальнейшее выполнение
цикла do while и пере ходит к следующей команде.
например use maillist
do while .not. eof
if zip = '90005'
skip
loop
endif
? name
? phone
skip
enddo
*case
> do case -- используется в командном файле для
выбора одной из нескольких альтернатив в
соответствии с выражением, стоящим после case. в конце
должна стоять команда endcase для завершения команды do
case.
например
use maillist
accept "which menu
option do you prefer?" to choice
do case
case choice = '1'
do labels
case choice = '2'
do addnames
case choice = '3'
do edit
otherwise
quit
endcase
*exit
*edit
> edit {<номер записи >} -- выборочное
редактирование записей по номеру в текущей
бд. нажмите <ет>, если хотите оставить запись без изменений.
Когда вызванная запись будет отредактирована, ctrl-w занесет
изменен. Запись в бд и запросит номер следующей
записи (record number #). Для
выхода из редактирования нажмите в ответ на запрос (номер
записи #) <ет>
*exit
*eject
> eject -- смена бланка на принтере (page eject)
если принтер установлен, или установка
формата. если используется команда ` say для форматирования печатного
лиска, eject очистит буфер принтера и сбросит табул.
*exit
*erase
> erase -- очистка экрана. в интерактивном режиме
"." будет находиться в левом верхнем углу
экрана.
*exit
*find
> find <ключ> -- локализация записи по значен.ключа
<ключ> в индекси рованной бд. (апострофы для символьных ключей не
требуются!).
*exit
*go
*goto
> go или goto -- позиционирование в бд по номеру
записи, или в начало бд, конец бд, а также позиционирование по
переменным память.
синтаксис: go или goto {record <n>}, <n>,
{top}, {bottom}, или <memvar>
*exit
*help
"ребус" - оперативные справки о
командах
Далее вы найдете полный
список команд "ребус". этот help-файл содержит краткие
сведения о функциях каждой команды, ее правильный синтаксис и
пример использования этой команды (как правило). Однако
следует помнить, что оперативная помощь этого
файла не может дать полное описание всех тонкостей работы с этими
командами, поэтому при затруднениях обращайтесь к руководству по
"ребус".
Имеющиеся в help-файле
описания команд (или другие справки) вы можете вызвать
на экран в любое время, когда система выводит приглашающий символ
"." И ждет ввода команды.
для получения справки следует набрать help <имя команды> и <ет>.
После вывода информации вы
автоматически возвращаетесь к режиму ввода команд. И
можете продолжать работу как ни в чем не бывало. в некоторых случаях (например,
в этом) вся информация не помещается на одном экране. при этом в
левом углу под текстом появляется слово "пауза".
для прочтения следующего экрана нажмите любую
клавишу. если вы хотите прервать вывод и вернуться в систему, то <esc>.
>>>>>>>>наберите 'help rebus ' для другой
важной информации о системе.
> ? -- выводит значение выражения,переменной
или поля.
> ?? -- то же, что и ?, но без перехода на
новую строку.
> ` -- выводит данные в указанное место экрана
или принтера.
> accept -- ввод символьной строки, указанной без
апострофов, в переменную.
> append --d> to <file>
{ascending / descending} -- создает новую копию
базы в которой записи
отсортированы. для сортировки используется последовательность
кода кои-7. записи помеченные для удаления не копируются.
Умалчиваемый порядок сортировки - по взрастанию.
для сортиров ки в русской последовательности следует пользоваться
командным файлом rsort.
например, . use
maillist
. sort on zip to mailzip
descending
*exit
*store
> store <exp> to <memvar> -- значение выражения
запоминается в переменной <memvar>.
например, . store
3 to number
3
. store number + 9 to
number2
12
. store 'howard' to name
howard
. ? number+number2, ' ',
name
15 howard
*exit
*sum
> sum -- вычисляет и выдает сумму числовых полей
активной базы. Опция <сцопе>
позволяет выбирать диапазон суммируемых записей. опция for
<exp> позво ляет суммировать по заданному критерию. Опция
to <memvar> сохраняет сумму в указанной
переменной. умалчиваемое значение <scope> - все не удаленные записи.
Синтаксис: sum <field>
{,<field2>} {<scope>} {to <memvar list>} {for <exp>}
например ,. use shoplist
{fields are item, number purchased, cost of item}
. sum cost * number for
item = 'food'
. sum number for item =
'hardware' to hard
. sum number, number *
cost for item = 'hardware' .and. cost > 9.00
*exit
*text
*endtext
> text -- позволяет выводить текстовую информацию в
командных файлах без использования команд
`say или ? . текстовая информация выводится до команды
endtext.
*exit
*total
> total -- создает суммарную версию индексированной
или отсортированной базы путем копирования
записей только с уникальным ключом <key>. Указанный
ключ должен быть ключом по которому отсортирована база.
Записи с повторяющимся ключом удаляются, а их числовые поля
суммируются используя опцию
field.
синтаксис:
total to <file> on <key > {fields <field list>}
*exit
*update
> update -- пакетное обновление ранее
отсортированной по ключу <key> базы с
возможностями сложения цифровых полей из базы from (опция add)
или замещения полей из базы from (опция replace).
синтаксис: update from
<file> on <key > {add <field list>}
{replace <field
list> or <field> with <field list>}
*exit
*use
> use <file> {index <index file
list>} -- указание активной базы для дальнейшего использования.
предыдущая используемая база закрывается. Опция
index указывает порядок использования записей в базе.
*exit
*wait
> wait {to <memvar>} -- останавливает выполнение
командного файла до ввода одиночного
сисмвола с консоли. wait to <memvar> запоминает введенный
символ в переменной.
*exit
*functions
> ` -- `(<ключ1>,<ключ2>) - поиск подстроки.
> * -- удаление записи.
> # -- выдача номера текущей записи.
> ! -- !(<ключ>) - перевод в прописные буквы.
> $ -- $(<ключ>,<start>,<length>) - формирование
подстроки.
> chr -- chr(<numeric expression>) - перевод числа
в символ.
> date() -- получение системной даты.
> eof -- определение конца файла.
> file -- file(<file>) - определение наличия файла.
> int -- int(<numeric
expression>) -- получение целого числа.
> len -- len(<ключ>) --
получение длины строки.
> rank -- rank(<ключ>) -- получение числового
значения первого символа строки.
> str -- str(<numeric
expression>,<width>{,<decimals>}) - преобразование
числового выражения в строку.
> val -- val(<char string>) - преобразование
строки в число.
> trim -- trim(<ключ>) - удаление последних
пробелов.
> type -- type(<exp>) - определение типа выражения.
> test -- 0 = test(<exp>) - функция
синтаксического разбора.
*exit
*limits
ограничения и числовые значения
число полей в записи 32 max
число символов в одной записи 1000 max
число записей в базе данных 65535 max
число символов в одной строке 254 max
максимальное количество разрядов в числовом поле
10 разрядов
максимальное число 1.8 x 10**63
включительно
минимальное число 1.0 x 10**-63
включительно
количество временных переменных 64 max
число символов в командной строке 254 max
число полей в команде sum 5 max
количество символов в заголовке отчета 254 max
число полей в одном отчете 24 max
число символов в индексном ключе 99 max
числа отложенных gets - команд 64 max
число одновременно открытых файлов 16 max
количество командных файлов неограничено
*exit
*examples
k субд "ребус" на отдельной дискете
поставляются несколько примеров.
Инструкция по запуску этих примеров
находится на той же дискете.
*exit
Продолжение следует....
Купить платы, готовые блоки, наборы микросхем,
прошитые ПЗУ, микропроцессоры на Орион-128, КР565РУ5В,
КР565ру7В, к565ру5г AU, к565ру7г Au
в позолоте, куплю микросхемы
Полезные и интересные статьи
На предыдущую страницу
На главную страницу На следующую
страницу
|