В качестве примера работы с VU-File опишем процесс создания
базы данных по игровым программам для ZX Spectrum.
Прикинем, какого рода информация будет представлять интерес
и как ее разместить на экране, исходя из общего резерва места —
20 строк по 32 символа в строке.
На первом месте, разумеется, название игры. Поскольку полное
название (а не заголовок бейсик-файла, под которым зачастую
фигурируют игры*) бывает достаточно длинным, отведем для него
две строки. Также две строки потребуются для возможного перечня
всех фирм, приложивших руку к созданию или распространению
игры. Еще две строки — для списка авторов, который может быть
достаточно многочисленным.
Кроме того, желательно указать год выпуска игры. Поскольку
игры для ZX Spectrum создавались только в XX веке, год можно
обозначить двумя последними цифрами.
Хорошо бы также указать тип игры (адвентюра, имитация и
т. д.) — примерно полстроки, и дать ей оценку, например, по
пятибалльной шкале — один знак.
Если у вас объемная «игротека», необходимо указать адрес, где
искать игру, отдельно в кассетной и дисковой версиях; поскольку
для надежности программы могут храниться в нескольких копиях,
лучше оставить по целой строке для каждой версии.
Полезно также указать совместимость программ с компьютера-
ми различных классов (128 К, 48 К, а может быть, и 16 К).
Получилось 14 полей (по два для названия, фирмы и авторов, и
по одному для остальных видов информации). Желательно также
предусмотреть место для примечаний, но к этому лучше вернуться
после размещения на экране обязательной информации.
Теперь загружаем VU-File, в начальном меню нажимаем клави-
шу Е (создание новой БД), и входим в режим SET RECORD LAYOUT.
Для начала хотелось бы сделать какой-нибудь общий заголовок
будущей БД. Пусть это будут слова ZX SPECTRUM SOFTWARE
CATALOGUE. 30 символов — это как раз то, что нужно для одной
строки. Нажимаем Edit (CS/1) для установки цветов. Чтобы пол-
учить яркие белые буквы на черном фоне, нажимаем последова-
тельно цифровые клавиши: 0 (PAPER), 7 (INK), 1 (BRIGHT), 0 (FLASH).
Заодно установим зеленый бордюр: 4 (BORDER), после чего «выле-
таем» обратно в предыдущее подменю.
Поскольку курсор мы еще не трогали, он находится в левом
верхнем углу белого поля. Жмем пробел, пока курсор не достигнет
правого края экрана, оставив за собой черную полосу. Клавишей
Enter (в дальнейшем будем обозначать ее символом J) переводим
курсор в начало следующей строки, и в ней, отступив от края на
одну позицию, набираем текст заголовка. Третью строку так же, как
и первую, окрасим в черный цвет.
Пожалуй, названия игр будут хорошо смотреться на голубом
фоне. Нажав Edit выходим в подменю COLOUR и вводим
5 OJJJ*
Атрибуты BRIGHT, FLASH и BORDER оставим без изменения. Вер-
нувшись на рабочее поле, закрашиваем четвертую, пятую и шес-
тую строки голубым цветом. В самом начале пятой поместим слово
Title: (название).
В строках с 7-й по 11-ю разместим информацию о фирмах,
авторах игр и годе выпуска. Зададим для этих полей зеленый фон
и белый тон для заголовка:
Edit 4 7JJJ
Закрасив зеленым цветом строки с 7-й по 11-ю, в начале 7-й
строки пишем слово from, указывая место для фирм изготовителей,
а двумя строками ниже — слово Author(s). Поменяв цвет тона на
черный, сразу после Author(s) напишем слово unknown (неизвестен).
Оно будет присутствовать во всякой записи с незаполненным
полем авторов. Так же черным по зеленому напишем в середине
11-й строки 19___
Поменяем цвет (Edit б 0JJJ), окрасим 12-ю строку в желтый
цвет и введем в ее начало заголовок Туре (тип) и, отступив 8
позиций от правой границы экрана, — value (оценка).
Ниже поместим, предварительно окрасив строку в черный цвет,
желтый подзаголовок storage data (данные хранения).
Поменяв цвета на синий фон и красный тон (Edit I 5JJJ) и
окрасив 14-ю и 15-ю строки в синий, первую из них начнем
словом ТАРЕ (лента), а вторую — словом DISK (диск).
Мы хотели еще предусмотреть место для информации о совме-
стимости программ, наличии подгружаемых файлов и возможнос-
ти сохранения промежуточного результата. Оставив строки с 16-й
по 18-ю белыми, синим текстом (Edit 1 7JJJ) наберем в начале
строк заголовки: Compatibility (совместимость), Down loading (подгруз-
ка), Interim save (запись промежуточного результата).
Оставшиеся две строки закрасим черным цветом (Edit О J J J J) и
в 19-й строке дадим заголовок Note: (примечание).
Теперь можно указать начальные позиции каждого поля. Для
этого нажимаем Stop и перескакиваем в подменю DATA FIELDS.
Отступив одно знакоместо после слова Title:, нажимаем J. Высве-
тится подменю COLOUR, в котором устанавливаем цвета: 5 1JJJ.
Таким образом мы задали, что поле названия игры будет начинать-
ся после соответствующего заголовка, а текст будет писаться синим
по фиолетовому. Аналогично задаем продолжение поля заголовка
в начале 6-й строки.
Дальнейшие действия вполне тривиальны: перемещая курсор в
позицию, с которой следует начать поле, нажимаем J и задаем
цвета. Обратим ваше внимание только на расположение началь-
ных позиций полей Author(s) unknown и 19__. Для того чтобы при
наличии информации в этих полях (автор и год известны) введен-
ный в бланке текст затирался, начало поля в первом случае должно
совпадать с буквой и, а во втором — с первым символом
подчеркивания.
Проверив, все ли необходимые поля введены (ведь количество
полей изменить будет нельзя!), нажимаем клавишу Stop, и попада-
ем в режим заполнения БД. Делать нечего — введем первую запись
(иначе из этого режима никак не выйти).
Название: Academy (Tau Ceti II) J J (название полностью помести-
лось в первом поле, поэтому запасное не используем).
Фирма: CRLJJ (общепринятое сокращение фирмы Computer
Rentals Limited). Запасное поле опять пропускаем.
Автор: Cooke P. J J (Для алфавитной сортировки по фамилиям
авторов ставим фамилию на первое место, а имя Pete для экономии
места сокращаем).
Год выпуска: 86J.
Классификацию игр лучше производить с помощью ограничен-
ного набора сокращенныхобозначений. Academy — аркадная игра
с научно-фантастическим сюжетом. Вводим ARC-SFJ и даем оценку
этой классной игре: 5 J.
Указываем места хранения программы, которая продублирована
на двух лентах: 1415А2 1415B2J. Имеется также дисковая версия
#15J.
Совместимость: игра спокойно грузится как в
ZX Spectrum 48 К, так ив 128 К. Вводим: 48-128J.
Подгружаемые файлы: известно, что их должно быть 5, но в
наличии — только 3. В поле Down loading вводим: 3 of 5 levels J.
Запись промежуточных результатов в игре осуществляется толь-
ко на ленту в двух независимых файлах с продолжительностью
записи 23 и 10 секунд. Вводим: tape 0.23+0.10J.
Примечаний нет: JJ.
После заполнения всех полей бланк очищается для ввода следу-
ющей записи. Теперь можно сделать выбор: либо вводить следую-
щую запись, либо прекратить ввод. Добавим еще одну игру (теперь
приводится только последовательность нажатия клавиш):
Out Run J J
U.S.Gold, Sega, Probe Soft J
wareJJJ
86J
SIMJ
5J
1421B1 JJ
48-128AYJ
16 levekJJJJ
Запись введена.
Комментарии:
1. Слово Software оказалось разорванным на две строки. Это
допустимо, поскольку оно повторяется в названии каждой второй
компьютерной фирмы и поэтому вряд ли будет использоваться в
качестве ключа для поиска. Зато при правильно составленном
бланке распечатки (чем мы сейчас и займемся) оно не будет
разрываться на стыке полей.
2. Авторы неизвестны — оставлено слово unknown.
3. SIM от слова simulation — сокращенное обозначение ими-
тации.
4. AY обозначает, что программа использует музыкальный про-
цессор компьютера Spectrum 128.
Подведя курсор к первой позиции первого поля и нажав Stop,
закончим ввод записей. При этом на экран вернется первая запись,
поскольку она является верхней (по умолчанию установлена алфа-
витная сортировка по первому полю). Сохраним на ленте или
диске все, что мы до сих пор натворили. Для этого нажмем клавишу
Q и, выйдя в главное меню, клавишу 4. Записываем БД в файл под
именем VUSOFT.
Последняя операция, которую надлежит проделать только вла-
дельцу принтера — задать бланк вывода данных на принтер. Для
этого из главного меню войдем в режим SET PRINTER LAYOUT. Наша
задача — таким образом расположить поля и их заголовки, чтобы
принтер выдавал по меньшей мере осмысленную, а лучше — еще
и красивую распечатку.
Предположим, что записи будут распечатываться на принтере с
установленным режимом 128 символов в строке, при котором
каждые 4 строки бланка отображаются одной строкой распечатки.
Прикинем предполагаемый внешний вид будущей распечатки. У
нас имеются 4 двойных поля (Title, from, Author(s) и Note), части
которых желательно печатать подряд. Остальные поля занимают
одну 32-символьную строку (Таре, Disk, Compatibility, Down loading,
Interim save) или даже меньше (Type, 19__ value). Отведем левую
половину листа для «библиографических» данных: названий игр,
фирм, фамилий авторов, года выпуска.
Разумеется, общий заголовок ZX SPECTRUM SOFTWARE из распе-
чатки нужно исключить. Нет никакого смысла печатать его 10 или
15 раз на странице. Поэтому начнем с поля Title, которое поместим
в первой позиции первой строки бланка; поскольку цветовое вы-
деление в распечатке не поддерживается, выделим это слово за-
главными буквами: TITLE:.
Следующая строка распечатки будет начинаться словом from,
но — внимание! — на экране она будет располагаться не второй, а
пятой! Напишем в пятой строке слово FROM. Третья строка распе-
чатки начнется с девятой строки экрана. Там и напишем:
AUTHOR(S). Наконец, в четвертой строке распечатки мы предпола-
гали поместить год выпуска игры. Поскольку эта информация
займет немного места, в 13-й строке экрана, отступив от края,
скажем, 5 знакомест, напишем: 19___
Перейдем теперь к правой части распечатки. Во второй полови-
не первой строки будет располагаться заголовок Туре. Где же это
место на экране? Очевидно, в начале 3-й строки. Там и поместим
это слово. В конце той же 3-й строки расположим слово value так
же, как оно стояло в экранном бланке.
После этого найдем начало второй половины 2-й строки распе-
чатки, которое окажется на 7-й строке экрана. Поместим здесь
слово ТАРЕ. В следующей строке экрана, то есть в последнем
сегменте второй строки распечатки, поместим заголовок Down
Loading. Аналогичным образом 11-ю строку экрана, которая окажет-
ся в середине третьей строки распечатки, начнем словом DISK, а
12-ю строку экрана — словами Interim save.
Осталось только найти место для примечания (двойное поле),
которое прямо-таки просится во вторую половину четвертой стро-
ки, то есть, начиная с 15-й строки экрана.
На этом можно было бы и остановиться, но желательно еще
ввести какой-нибудь разделитель между записями. Можно, напри-
мер, заполнить оставшиеся неиспользованными строки экрана с
17-й по 20-ю каким-либо символом, например, «крышкой»
(«шапка») — На экране этот символ выглядит как «стрелка
вверх» — t-
Наконец, закончив оформление бланка, перейдем к размеще-
нию полей. В подменю DATA FIELDS выходим через Stop, а началь-
ные позиции полей размечаем так же (за исключением отсутству-
ющего выбора цвета), как в режиме SET RECORD LAYOUT. Когда
будут заданы все 16 полей БД, программа перейдет в главное меню,
из которого имеет смысл снова сохранить результаты трудов на
магнитом носителе. А затем, войдя в основной режим работы
(клавиша 1), и нажав клавишу Р (разумеется, при включенном
принтере), можно проверить, какая распечатка у вас на самом деле
получилась: