REBUS для OS DOS - базы данных Орион-128, CP/M-80

Базы данных REBUS, OS-DOS для Орион128

Продаю платы и наборы микросхем, куплю микросхемы Купить программы, микросхемы, готовые блоки запчастей ПК Орион-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

LZX.COM архиватор программ и файлов OS-DOS V3.60 Орион-128, CP/M-80

  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 в позолоте, куплю микросхемы

 

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

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