
            ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПЭВМ РЯДА БК
==============================================================
                          БК - 11М






















                  **  F A S T C A R D  **

             ПРОГРАММА УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ

                (Руководство по применению)





















                           МодИС

                       Москва - 1994



                            - 2 -





















          АННОТАЦИЯ


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

     Просьба Ваши замечания и предложения по улучшению  про-
граммы  направлять  по  адресу: 125047 Москва, а/я 49, фирма
"Модис" (т. 258-63-53).

     Автор программы - А.Ю.Лобанов.
     Особая благодарность выражается А. .Захарову  за помощь
в подготовке описания.




















                            - 3 -













                         СОДЕРЖАНИЕ


АННОТАЦИЯ                                                  2

1. ОРГАНИЗАЦИЯ И ХРАНЕНИЕ ИНФОРМАЦИИ                       4

2. ЗАПУСК ПРОГРАММЫ                                        4

3. ВЫБОР СУЩЕСТВУЮЩЕЙ БАЗЫ ДАННЫХ                          5

4. СОЗДАНИЕ НОВОЙ БАЗЫ ДАННЫХ                              6

5. РАСШИРЕНИЕ ФАЙЛА БАЗЫ ДАННЫХ                            7

6. РЕДАКТИРОВАНИЕ КАРТОЧЕК                                 7

7. ПОИСК В БАЗЕ ДАННЫХ                                     8

8. НАСТРОЙКА РЕЖИМОВ                                       9

9. ДОПОЛНИТЕЛЬНЫЕ ФУНКЦИИ                                  9

   9.1. Функция "ПОМОЩЬ"                                   9

   9.2. Функция сортировки базы данных                    10

   9.3. Функция "ВЫЧИСЛЕНИЯ"                              10

















                            - 4 -

          1. ОРГАНИЗАЦИЯ И ХРАНЕНИЕ ИНФОРМАЦИИ


     Вся информация картотеки, или базы данных, хранится  на
внешнем запоминающем устройстве (дискете) в виде файлов спе-
циального формата. Имя файла присваивается при создании кар-
тотеки  и  может состоять не более чем из 6 символов (латин-
ских букв и цифр). Кроме того к  имени  файла  может  добав-
ляться  3  символа,  обозначающие  его тип. По умолчанию для
всех файлов данных FastCard установлен тип ".BSE".

     Файлы данных состоят  из  записей  (карточек),  имеющих
фиксированные  размер и структуру. В каждой карточке имеется
определяемый пользователем набор информационных полей, кото-
рым  присваиваются заголовки. Информация в каждом поле может
являться текстовой строкой (не более 255 символов) или  чис-
лом.  Следует  заметить,  что  числа также хранятся на ВЗУ в
текстовом представлении. Это обстоятельство необходимо  учи-
тывать при определении размера карточек и выполнении матема-
тических вычислений. Общая длина всех полей не  должна  пре-
вышать размера карточки, который определяется при формирова-
нии картотеки. Для каждой карточки запоминается дата и время
ее создания или последнего редактирования.

     Файлы картотеки по формату отличаются от текстовых, по-
этому их нельзя выводить на экран или на печать обычным спо-
собом.  Особенностью  данной  программы является то, что она
работает в режиме прямого доступа к внешнему устройству  па-
мяти.  Это дает преимущества в скорости обработки данных, но
накладывает некоторые ограничения на возможности их преобра-
зования. Например, изменить количество полей или размер кар-
точки в уже созданной базе практически невозможно.  Расшире-
ние существующей картотеки также представляет собой довольно
сложную, а при недостаточном опыте -  рискованную  операцию,
которая  будет обсуждаться далее. Пользователю рекомендуется
перед созданием новой  базы  данных  тщательно  обдумать  ее
структуру  и  определить  предполагаемый объем информации на
носителе. В случае затруднений можно воспользоваться разъяс-
нениями, содержащимися в тексте предлагаемого руководства, а
также услугами встроенного  справочника  (функции  программы
"ПОМОЩЬ").


          2. ЗАПУСК ПРОГРАММЫ


     Программа  может  быть  запущена  из командной оболочки
"COMMANDER" или непосредственно из монитора операционной си-
стемы.  В  последнем  случае  должна  быть введена командная
строка

             .RUN DEV:FCARD
      где

DEV - имя устройства, на котором находится файл с программой
FCARD.SAV (по умолчанию "DK:");

      или
                            - 5 -

             .FCARD

если файл FCARD.SAV расположен на устройстве "SY:".

     Можно указать также имя базы данных (или устройство для
выбора одной из нескольких имеющихся баз), например:

             .FCARD MYBASE
             .FCARD BY1:

В  этом  случае одновременно с запуском программы происходит
открытие указанного файла или  включается  процедура  поиска
файлов. Для того, чтобы можно было использовать такой способ
запуска программы из командной оболочки  "COMMANDER",  реко-
мендуется  внести  соответствующие изменения в файлы IC.EXT,
IC.VIE и IC.EDI.

     Сразу после запуска можно  откорректировать  встроенные
часы  программы.  По умолчанию устанавливается текущее время
операционной системы. Его можно мзменить, манипулируя клави-
шами  <КУРСОР ВВЕРХ>, <КУРСОР ВНИЗ>, <КУРСОР ВЛЕВО>, <КУРСОР
ВПРАВО> и <ВВОД>.

     Если программа запущена без указания имени базы  данных
(или  устройства),  то на экране появляется заставка и после
нажатия клавиши <ВВОД> изображается основное меню программы:

                    +-------------+
                    I РЕДАКТОР    I
                    I ПОИСК       I
                    I ВЫБОР БАЗЫ  I
                    I РЕЖИМЫ      I
                    I ДОП.ФУНКЦИИ I
                    I ВЫХОД       I
                    +-------------+



          3. ВЫБОР СУЩЕСТВУЮЩЕЙ БАЗЫ ДАННЫХ


     Если база не открыта (не было указано ее имя), курсор в
виде инверсного изображения строки устанавливается в позицию
"ВЫБОР БАЗЫ" и при нажатии клавиши <ВВОД> запрашивается  имя
файла.  По умолчанию в качестве устройства выбирается "DK:",
а для имени файла установлен тип - ".BSE".

     При желании пользователь может не набирать имя файла  с
клавиатуры, а воспользоваться процедурой автоматического по-
иска и выбора файлов. Для этого надо в командной строке ука-
зать только имя устройства и нажать <ВВОД>. На панели в ниж-
ней части экрана выводится список всех рабочих файлов, имею-
щихся  на  указанном  устройстве  (т.е.  файлов, имеющих тип
".BSE"). Выбор нужной базы  данных  производится  с  помощью
клавиш <КУРСОР ВВЕРХ>, <КУРСОР ВНИЗ> и <ВВОД>; для отказа от
выбора следует нажать - <КТ>.


                            - 6 -


     ПРИМЕЧАНИЕ: Вообще, нажатие клавиши <КТ> в  большинстве
     случаев вызывает прекращение выполняемой операции и пе-
     реход на один уровень меню "вверх", т.е. к  предыдущему
     состоянию  (аналогично  функции  <ESC>  на машинах типа
     IBM).

     После выбора имени картотеки осуществляется поиск файла
данных.  Если  файл  обнаружен, он становится текущим и про-
грамма возвращается в основное меню. Если такой файл не  был
найден (не создавался ранее) - появляется сообщение:

                +--------------+
                IФайл не найденI
                IСоздать?+----------------+
                +--------IВы уверены? Да  I
                         I            Нет I
                         +----------------+



          4. СОЗДАНИЕ НОВОЙ БАЗЫ ДАННЫХ


     Для  создания  базы  с выбранным именем необходимо под-
твердить свое желание переводом курсора (инверсной строки) в
позицию "Да" и нажатием клавиши <ВВОД>.

     При создании новой базы необходимо задать ее параметры:
количество полей и максимально возможное  количество  знако-
мест в карточке. Эти параметры вводятся по запросам с клави-
атуры или выбирается из некоторого ряда допустимых  значений
при помощи клавиш <КУРСОР ВВЕРХ> и <КУРСОР ВНИЗ> с последую-
щим подтверждением нажатием клавиши <ВВОД>.  Затем определя-
ются  наименования полей в соответствии с выбранным их коли-
чеством. После ввода последнего имени поля запрашивается ин-
формационная емкость создаваемой базы для резервирования ме-
ста для нее на диске.

     В меню представлены следующие способы  задания  размера
файла,  выбор  которых  производится нажатием клавиш <КУРСОР
ВВЕРХ>, <КУРСОР ВНИЗ> и <ВВОД>:

          - ПО МАКСИМАЛЬНОМУ  ЧИСЛУ  КАРТОЧЕК.  В  этом
     случае  запрашивается их количество, а после ввода
     числа сообщается сколько блоков выделено под  соз-
     даваемый файл.

          -  КАК  1/2 СВОБОДНОЙ ОБЛАСТИ. При таком спо-
     собе под новый файл выделяется половина наибольшей
     свободной  области (или вторая по величине свобод-
     ная область) текущего диска.

          - КАК ВСЯ СВОБОДНАЯ ОБЛАСТЬ. Под файл выделя-
     ется,  соответственно,  максимальная свободная об-
     ласть на диске.


                            - 7 -

          -  ПО ЧИСЛУ БЛОКОВ.  В этом случае запрашива-
     ется требуемое количество  блоков, а  после  ввода
     числа  сообщается,  сколько  их в действительности
     выделено.

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


          5. РАСШИРЕНИЕ ФАЙЛА БАЗЫ ДАННЫХ


     Может  произойти  так, что в процессе эксплуатации базы
данных первоначально отведенной области на носителе окажется
недостаточно для новых записей. В этом случае возникает про-
блема РАСШИРЕНИЯ существующей картотеки. Eе можно  решить  с
помощью команды монитора:

           .CREATE basnam/EXT:n
      где

n - количество блоков, на которое  требуется  расширить  су-
ществующий файл.

     В  операционной  системе  ОС  БК-11 информационный блок
имеет стандартный размер 512 байт (или  символов).  Из  этой
величины,  а  также из установленного объема карточки и надо
исходить, определяя  количество  необходимых  дополнительных
блоков.  Кроме  того важно убедиться, что отводимая на диске
зона, находящаяся непосредственно после расширяемого  файла,
действительно свободна от записей. В связи с этим может воз-
никнуть необходимость предварительной очистки и сжатия диска
командой монитора "SQUEEZE". Вы будете чувствовать себя уве-
реннее, если до начала экспериментов с каталогом  запасетесь
копиями  всех важных файлов, которые Вы хотели бы сохранить,
в том числе, разумеется, копиями самой программы "FCARD.SAV"
и Вашей картотеки.


          6. РЕДАКТИРОВАНИЕ КАРТОЧЕК


     Выбор пункта меню "РЕДАКТОР" дает возможность создавать
новые и редактировать существующие карточки. При этом на эк-
ране  появляется  изображение  карточки. В ее заголовке ука-
зывается имя базы, номер карточки, а также дата и время, ко-
гда она была заполнена или в последний раз редактировалась.

     В  левой  части  экрана выводятся наименования полей, а
правая оставлена для работы с содержащейся  в  них  информа-
цией.  Активным является то поле, в информационной части ко-
торого в данный момент находится курсор. Заполняется и реда-
ктируется карточка обычным образом, переход из одного поля в
соседнее производится клавишами управления  <КУРСОР  ВВЕРХ>,
<КУРСОР ВНИЗ>. Нажатие клавиши <ВВОД> означает закрытие кар-
точки (окончание ее редактирования). После этого можно  вос-
                            - 8 -

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

     В последних версиях программы реализована функция, поз-
воляющая помечать нужные карточки. Метки  устанавливаются  и
снимаются  нажатием клавиши <ВС>. При этом номер в заголовке
отмеченной карточки подсвечивается инверсией. Количество по-
мечаемых  карточек  не  ограничивается. Данная функция может
быть полезной при выполнении  групповых  операций  поиска  и
вывода   карточек.   (См.  описание  пункта  основного  меню
"ПОИСК").

     Возврат из режима редактирования в основное меню  -  по
клавишам <0> или <КТ>.


          7. ПОИСК В БАЗЕ ДАННЫХ


     Выбор  пункта "ПОИСК" позволяет просматривать базу дан-
ных и выводить ее содержимое на печать или  в  файл  в  виде
групповой таблицы (отчета).

     Работая  в этом режиме, пользователь должен дать ответы
на три вопроса, которые последовательно задаются программой.
1)  Куда  будет  направляться  вывод  - на экран или в файл?
(Драйвер печатающего устройства "LP:" или "LC:"  может  рас-
сматриваться  в  качестве  альтернативного файлам устройства
вывода). 2) Какие карточки из числа  имеющихся  должны  быть
отобраны  в  итоговую  таблицу? 3) В каком формате требуется
представить результаты поиска?

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

     Отбор нужных карточек  производится  с  помощью  маски.
Маска для  поиска имеет форму карточки, где в информационных
строках вводятся искомые числа или текстовые  последователь-
ности. Знак "*" может заменять любое количество (в том числе
нулевое) произвольных символов, а знак "?" - только один си-
мвол. Когда во всех информационных строках стоят одни только
звездочки "*", то считаются выбранными все карточки.

     Далее программа спрашивает: СНЯТЬ МЕТКИ или  УСТАНОВИТЬ
МЕТКИ? Ответ на этот вопрос определяет порядок работы с теми
карточками, которые в процессе поиска будут признанны  соот-
ветствующими  маске (если таковые будут обнаружены). Отметка
карточек может пригодиться при последующей их математической
обработке, при удалении и т.п.

     Формат  итогового  отчета  задается в виде таблицы, где
для каждого поля базы данных определяется ширина  колонки  в
количестве  знакомест.  Задание нулевой ширины колонки озна-
чает запрет вывода данного поля.
                            - 9 -

     После определения всех параметров поиска программа про-
изводит просмотр базы и включает в итоговый отчет только  те
карточки,   которые  удовлетворяют  заданным  условиям.  При
выводе на экран клавиша <ВС>  выполняет  роль  "стоп-кадра".
Операцию  поиска можно прервать и вернуться в основное меню,
нажав клавишу <КТ>.


          8. НАСТРОЙКА РЕЖИМОВ


     Выбор пункта "РЕЖИМЫ" позволяет:

        - установить будильник, который  подаст  сигнал  при
        совпадении заданного времени и текущего;

        -  установить  число символов в строке (режимы 64,32
        или 80);

        - установить режим гашения экрана (эффект "звездного
        неба", аналогичный тому, что применяется в программе
        "Norton Commander" для машин типа IBM).

     Все эти режимы включаются и выключаются при помощи  до-
полнительного меню, которое выводится в нижней части экрана.
Возврат в  основное  меню  выполняется  при  выборе  позиции
"ВЫХОД" или при нажатии клавиши <КТ>.


          9. ДОПОЛНИТЕЛЬНЫЕ ФУНКЦИИ


     Выбор пункта основного меню "ДОП.ФУНКЦИИ" позволяет об-
ращаться к  некоторым  сервисным  подпрограммам  и  модулям,
часть из которых реализована в настоящей версии, а часть на-
ходится в стадии разработки. Названия функций представлены в
дополнительном  меню, находящемся внизу экрана. Выбор нужных
функций  осуществляется  клавишами  <КУРСОР ВВЕРХ>,  <КУРСОР
ВНИЗ> и <ВВОД>. Возврат в основное меню - из позиции "ВЫХОД"
или по клавише <КТ>.


          9.1. Функция "ПОМОЩЬ"


     При обращении к этой функции на экран постранично выво-
дится  справочная информация о работе с программой. Управле-
ние  просмотром  производится  клавишами   <КУРСОР   ВВЕРХ>,
<КУРСОР ВНИЗ> и <КТ>.









                            - 10 -

          9.2. Функция сортировки базы данных

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

     Выбор способа сортировки производятся при помощи клавиш
управления курсором. Клавиша <КУРСОР ВЛЕВО> переключает  ре-
жимы  "ВОЗРАСТАНИЕ"  - "УБЫВАНИЕ", а клавиша <КУРСОР ВПРАВО>
является переключателем режимов "ЧИСЛА" - "АЛФАВИТ". По умо-
лчанию  карточки сортируются в алфавитном порядке "по возра-
станию".

     В процессе сортировки выполняется построчное  сравнение
всех  карточек.  Они сопоставляются сначала по первому полю,
потом по второму... и т.д. Если порядок сравнения нужно  из-
менить, то поступают следующим образом. Курсор устанавливают
на ту строку,  которую  требуется  переместить,  и  нажимают
<ВВОД>.  При  этом  правее  передвигаемой  строки появляется
стрелка, которую необходимо  установить  в  тот  межстрочный
промежуток,  куда  желательно  переставить выбранную строку.
Затем еще раз нажимается клавиша <ВВОД>.

     После выбора порядка  сортировки  переведите  инверсную
строку-курсор  в позицию "НАЧ. СОРТИРОВКИ" и нажмите <ВВОД>.
Если Вы хотите, чтобы карточки были отсортированы в хроноло-
гическом порядке, т.е. по времени их создания или редактиро-
вания, то выбирите  позицию "ДАТА И ВРЕМЯ"  и  тоже  нажмите
<ВВОД>.

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


          9.3. Функция "ВЫЧИСЛЕНИЯ"


     В  программе  FastCard  имеется  вычислительный модуль,
предназначенный для математических  операций  с  полями  баз
данных. Модуль работает с вещественными числами двойной точ-
ности (восьмибайтными). Аргумент тригонометрических и значе-
ния  обратных тригонометрических функций измеряются в радиа-
нах.

     При обращении к модулю на экран прежде всего  выводится
подменю,  позволяющее  определить группу карточек, с которой
будут производиться вычисления: "ВСЕ КАРТОЧКИ", "ПОМЕЧЕННЫЕ"
или  "НЕПОМЕЧЕННЫЕ".  Этот  запрос  имеет смысл только в том
случае, если карточки предварительно  помечались  в  режимах
редактирования или поиска.



                            - 11 -

     Затем на экране появляется таблица символьных обозначе-
ний полей базы данных и запрашивается формула вычислений:

        (A)           <Имя_поля1>
        (B)           <Имя_поля2>
        (C)           <Имя_поля3>
         .            <.........>
         .            <.........>
        (.)           <.........>

    Формула >

     Формула  представляет  собой запись, в которой слева от
знака равенства "=" ставится символьное  обозначение  одного
из  полей  базы данных, а справа - арифметическое выражение,
описывающее последовательность выполняемых действий. В ариф-
метических  выражениях  допускается использование символьных
обозначений полей, числовых констант, поддерживаемых модулем
табличных  функций (их перечень дается ниже), знаков матема-
тических действий "+", "-", "*", "/", "^",  а  также  скобок
"("  и  ")"  в неограниченном количестве. Примеры корректной
записи:

    Формула > E=(A+B+C)/8*1.45
    Формула > B=SQR(F)+COS(A)/2

     Если  формула  введена  правильно,  программа  начинает
вычисления. Ход операций отображается на контрольном  табло,
с  указанием номеров карточек, которые в данный момент обра-
батываются, и объема уже выполненной работы (в %%).  Резуль-
таты вычислений записываются в назначенные поля каждой акти-
вной карточки, участвующей в операции. По окончании  расчета
распечатывается краткий статистический отчет.

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

     ПРИМЕЧАНИЕ:  При  выполнении  расчетов содержимое полей
     базы данных переводится из текстового представления  во
     внутренний  двоичный формат. С этим связана возможность
     появления ошибок перевода форматов, причины которых  не
     являются  очевидными. Пользователю рекомендуется внима-
     тельнее формулировать задания на  вычисления.  Одна  из
     устранимых  причин  ошибок  - неумышленное размещение в
     числовом поле текстовой информации.

     Ниже приводится перечень ошибок, диагностируемых  мате-
матическим модулем:

   НЕДОПУСТИМЫЙ СИМВОЛ          НЕ ХВАТАЕТ ПАМЯТИ
   НЕДОПУСТИМАЯ ПЕРЕМЕННАЯ      НЕДОПУСТИМОЕ ИМЯ ФУНКЦИИ
   ОТСУТСТВУЕТ СИМВОЛ "="       НЕДОПУСТИМЫЙ ПОРЯДОК
   ПУСТАЯ СТРОКА (!A=???)       ОТСУТСТВУЕТ МАНТИССА
                            - 12 -

   НЕВЕРНО РАССТАВЛЕНЫ '()'     НЕДОПУСТИМАЯ МАНТИССА
   ДЕЛЕНИЕ НА НОЛЬ              АРГУМЕНТ 'SQRT' МЕНЬШЕ 0
   ПЕРЕПОЛНЕНИЕ                 В АРГУМЕНТЕ 'LN','LG'
   ОТСУТСТВУЕТ ОПЕРАНД

     ПРИМЕЧАНИЕ: В случае потери порядка результату присваи-
     вается - 0

              ТАБЛИЦА ФУНКЦИЙ, ПОДДЕРЖИВАЕМЫХ
                   МАТЕМАТИЧЕСКИМ МОДУЛЕМ

   +-----------------+---------------------------------+
   I  Форма  вызова  I     Возвращаемое значение       I
   +-----------------+---------------------------------+
   I LN(),LOG()      I логарифм натуральный            I
   I EXP()           I экспонента                      I
   I PI()            I число "ПИ" (аргумент фиктивный) I
   I ABS()           I модуль                          I
   I SGN(),SIGN()    I знак                            I
   I SIN()           I синус                           I
   I COS()           I косинус                         I
   I SH()            I гиперболический синус           I
   I CH()            I гиперболический косинус         I
   I TG()            I тангенс                         I
   I TAN()           I тангенс                         I
   I CTG(),CTAN()    I котангенс                       I
   I TH()            I гиперболический тангенс         I
   I CTH()           I гиперболический котангенс       I
   I LOG10(),LG()    I логарифм десятичный             I
   I ARSH()          I гиперболический арксинус        I
   I ARCH()          I гиперболический арккосинус      I
   I ARTH()          I гиперболический арктангенс      I
   I ARCTH()         I гиперболический арккотангенс    I
   I SQR()           I квадрат                         I
   I INV()           I обратная величина (1/x)         I
   I SQRT()          I квадратный корень               I
   I DEGR(),DEGREE() I перевод из градусов в радианы   I
   I SEC()           I секанс (1/sin)                  I
   I COSEC()         I косеканс (1/cos)                I
   +-----------------+---------------------------------+


               *******   К О Н Е Ц   *******
