Системные программы для ZX Spectrum 1993 г.

Программа обработки баз данных VU-File - введение. Загрузка VU-File. Система меню VU-File. Оформление бланка записей.


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

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

Форма хранения и представления информации в базах данных
примерно одинакова в различных программах для различных ком-
пьютеров. Данные заносятся в базу и представляются на экране
(или выводятся на принтер) в виде записей — своеобразных элект-
ронных карточек. Запись представляет собой законченный блок
данных о конкретном объекте, например, о книге. Внутри записи
информация об объекте делится на лоля. К примеру, в записи
данных о книге могут быть заданы такие поля, как «автор», «назва-
ние», «год издания» и т. д. Работа с БД в основном сводится к
сортировке данных по указанным полям (скажем, представление
записей о книгах в порядке дат их издания) и выделению из общей
массы отдельных записей, удовлетворяющих какому-либо призна-
ку. На профессиональном языке это называется сделать выборку по
ключу. Ключ (обычно последовательность символов) играет роль
фильтра, отсеивающего информацию, которая имеет заданный
признак (или, наоборот, не имеет его). Манипулируя несколькими
ключами, можно быстро осуществить отсев данных из сколь угодно
большого массива информации.

VIJ File — первая программа обработки баз данных, созданная
дли /X Spectrum, и вообще одна из первых спектрумовских
ирщрамм: она была выпущена фирмой Psion Software еще в
ПЖ2 году.

Примечательно, что программа VU-File способна работать даже
мл 16-килобайтом варианте ZX Spectrum, хотя при этом практи-
чески бесполезна, поскольку собственно для БД оставляет лишь
) килобайта.

О VTJ-File можно говорить, как о ладно скроенном пальто мас-
< о но го пошива: непритязательно, но незаменимо на каждый день,
добротно и удобно. А главное — нигде не жмет: никакая дру-
гая программа, работающая с БД на 4 8-килобайтом ZX Spectrum,
по даст столько свободной памяти для пользователя — целых
14 килобайта!

Правда, с моделью ZX Spectrum 128 пакет VU-File, к сожалению,
совместим не полностью: теряется возможность редактирования
тписей, их можно только просматривать.

Поскольку программа VU-File, как уже сказано, появилась еще
п 1982 году, оригинальный пакет предусматривает загрузку только
с ленты. Впрочем, адаптация к TR-DOS достаточно тривиальна. Как
>то сделать описано в Приложении 2.

VU-File состоит из четырех файлов:

1. vu-file (тип BASIC), единственное предназначение которого —
загрузить следующую за ним рабочую бейсик-программу. (По
существу, это просто оригинальничанье фирмы Psion, имевшей
обыкновение предпосылать своим программам такие, с позволения
сказать, «загрузчики» с тем, чтобы пользователь мог набирать на
клавиатуре имя программы хоть прописными, хоть строчными
буквами. При копировании этот кусочек часто теряется за нена-
добностью).

2. VU-File (тип BASIC, длина 648 байт) — бейсик-блок рабочей
программы, обеспечивает связь программы с внешними устройст-
вами (магнитофоном, принтером).

3. T (тип SCREENS, длина 6912 байт) — фирменная заставка
VU-File.

4. С (тип CODE, длина 5640 байт) — кодовый блок программы.

Кроме перечисленных файлов, на оригинальной кассете фирмы
Psion поставлялся также лемоистоапионный пакет GAZETTEER, со-
стоящий из двух БД, содержащих информацию о странах Европы
(EUROPE) и мира (WORLD). Демонстрационный пакет устроен таким
образом, что 16-килобайтный Spectrum автоматически выбирает
подходящий для него файл EUROPE длиной 2006 байт, а 48-килобай-
тный Spectrum — более объемный файл WORLD длиной 9788 байт.
Демонстрационный пакет дает возможность познакомиться с рабо-
той VU-File, миновав при этом наиболее трудоемкий этап — созда-
ние новой БД.

Для начала полезно будет дать кое-какие сведения о структуре
файла данных, формируемого VU-File.

Информация в файле данных хранится в виде набора записей.
Запись разбита на поля, каждое из которых предназначено для
конкретного вида информации. При выводе записи на экран (или
на принтер) содержимое полей «вписывается» в бланк — создан-
ный для данной БД шаблон с заголовками, подсказками и размет-
кой положения полей. В программе предусмотрена возможность
задания двух бланков: один предназначен для вывода на экран,
другой — для распечатки на принтере. Однако если принтерный
бланк специально не определен, он совпадает с экранным.

Файл данных начинается с адреса 30710 и может занимать
память до адреса 65535, то есть максимальная длина файла —
34826 байт. Фактически полезная информация занимает несколь-
ко меньше места (34581 байт) — начальный участок файла содер-
жит информацию о формате записей, о структуре бланка и систем-
ные переменные БД.

Система меню VU-File представлена на схеме (рис. 26), к кото-
рой мы будем постоянно обращаться на протяжении всего
описания.

На схеме приняты следующие условные обозначения: в больших
прямоугольниках приведены пункты начального и главного меню;
в маленьких — рабочие подменю. Прямоугольники и квадраты,
размещенные на линиях, соединяющих позиции схемы, обознача-
ют клавиши, которые нужно нажимать для перехода в соответству-
ющий режим. «Пустой» квадрат — любая клавиша, квадрат со
стрелкой — курсорные клавиши. Прямоугольник с надписью KEY-
BOARD обозначает ввод информации с клавиатуры, с надписью FILE
NAME — операции с магнитофоном, ромб — выбор одного из двух
вариантов.

Сразу после загрузки VU-File на экране появится начальное
меню, в котором будут предложены два варианта дальнейших дей-
ствий: приступить к созданию новой базы данные (ENTER A NEW
DATA FILE) — клавиша Е, либо загрузить уже существующую БД
(LOAD A FILE FROM ТАРЕ) — клавиша L*.

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

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

1. Enter VU-File — начать работу с БД.

2. Set record layout — создать формат записи. Программа пере-
ходит в тот же режим, что и при нажатии клавиши Е в начальном
меню. Но в этом режиме при загруженной БД нельзя создать новый
бланк, а можно лишь отредактировать готовый.

3. Set printer layout — создать бланк для вывода записи на
принтер. Как уже упоминалось, до задания этого бланка распечатка
осуществляется в формате, повторяющем экранное изображение.

4. SAVE data file — записать содержащуюся в памяти компьюте-
ра БД на ленту.

5. LOAD a new data file — загрузить новую БД. Функция анало-
гична пункту LOAD A FILE FROM ТАРЕ начального меню.

6. ERASE current ffHe — стереть базу данных, содержащуюся в
памяти. После «очистки» программа переходит в начальное меню.
Функцию ERASE рекомендуется использовать в качестве «проклад-
ки» между сеансами работы с несколькими базами, чтобы избежать
«помех» от «хвостов» загруженных ранее БД.

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

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

Как мы уже отмечали, эта задача решается двумя путями: можно
создавать его «с нуля» (режим, вызываемый нажатием клавиши В
в начальном меню) или редактировать бланк загруженной в память
БД (функция Set record layout главного меню). Если при редакти-
ровании готового бланка будет изменено количество полей в запи-
сях, то находящаяся в памяти БД будет утрачена.

Итак, после нажатия в начальном меню клавиши Е нашим
глазам предстанет белое поле с синим бордюром и четырьмя коман-
дными строками в верхней части, содержащими написанный бе-
лым по синему некий текст. Если режим выбран клавишей 2 в
главном меню, то будет изображен бланк загруженной БД. Текст,
появляющийся на экране, в дословном переводе гласит: «РАСПО-
ЛОЖЕНИЕ ЗАПИСЕЙ. Ввод заголовков бланка в режиме пишу-
щей машинки. Перемещайте курсор курсорными клавишами.
Клавиша Stop — выход из режима, Edit — задание цвета».

В этом режиме на бланк наносятся заголовки полей, например,
AUTHOR (автор), TITLE (заголовок) и т. д. Для этого нужно перемес-
тить клавишами CS/5, CS/6, CS/7 и CS/8 курсор (красно-белый
мигающий квадратик, располагающийся в левом верхнем углу
бланка) в требуемую позицию и набрать текст.

Если вам не нравится скучный черно-белый экран, можно рас-
красить его (предварительно убедившись, что у вас цветной мони-
тор). Нажмите клавишу Edit (CS/I) и вы перейдете в подменю
COLOUR (цвет). В этом режиме можно последовательно установить
цвет фона (PAPER), тона (INK), ввести повышенную яркость (BRIGHT)
и мерцание (FLASH), а также изменить цвет бордюра (BORDER).
Значения атрибутов вводятся нажатием цифровой клавиши, соот-
ветствующей коду цвета (0...7 для PAPER, INK, BORDER и 0 или 1 для
BRIGHT и FLASH). После ввода значений всех атрибутов произойдет
возврат в предыдущий режим, а дальнейший текст будет выводить-
ся на экран уже в новом сочетании цветов. Нажатие Enter в
какой-либо позиции подменю COLOUR сохраняет прежнее значе-
ние атрибута. Установка новых цветов не распространяется на
предыдущие изображения, что позволяет получить многоцветный
бланк. Чтобы покрасить поле, на котором текст отсутствует, нужно
«прогнать» по нему курсор, нажимая клавишу Space.

После того, как вы заполнили бланк заголовками и раскрасили
его, нажмите клавишу Stop (SS/A). Вы попадете в подменю
DATA FIELDS (поля данных), в котором задается размещение полей
записи. Длина поля ограничена одной экранной строкой, то есть
32 символами. Поэтому если предполагается, что количество ин-
формации в одном поле будет превышать длину строки, придется
разбить ее на несколько строк. В такой ситуации важно помнить»
что VU-File воспринимает такое, разбитое на несколько строк, поле
как несколько независимых полей и, соответственно, при упорядо-
чении записей по алфавиту будет учитывать только одно из них.

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

Положение начала поля записи указывается курсором и фикси-
руется нажатием клавиши Enter. Эта операция оставит на бланке
метку в виде символа > на красном поле. После задания каждого
поля вам будет предложено еще одно подменю COLOUR, в котором,
при нажатии клавиш 0...?, устанавливаются цвета фона и тона для
этого поля.

К сожалению, в VU-File при выводе текста полей не предусмот-
рено использование атрибутов BRIGHT и FLASH. Однако это ограни-
чение можно обойти. Данные об атрибутах полей располагаются с
адреса 30799, по одному байту на каждое поле. Выйдя в Бейсик
(клавиша Break в режиме загрузки VU-File), выполните оператор

РОКЕ 30798+п,РЕЕК (30798+п)+х

- где п — порядковый номер поля, а вместо х нужно подставить
число 64 для установления повышенной яркости или 128 для
задания мерцания. Возврат в VU-File осуществляется выполнением
оператора GO ТО USR а*.

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

Если вы попали в режим формирования бланка из начального
меню, то есть начинали эту работу с нуля, то после нажатия Stop в
подменю DATA FIELDS вы вернетесь в режим ввода записей (этот
путь отмечен на схеме пунктирной линией). VU-File не люби^
нулевого количества записей и не позволит выйти из режима

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

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




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Письма - О положении дел со Speccy в Ставрополе.
Жизнь баклана - неужели вы еще в состоянии сидеть за компом и читать уже второй PSY? Неужели вы еще не свихнулись от ужаса, коим напичкана наша газета?
Сэйлор-мун - Войны в матросках.
Благодарности - О.Хохлову, К.Афендикову, В.Pубцову за ZXASM 3.0
Творчество - Частушки и стихи.

В этот день...   21 ноября