Boris Kuritsin's CardFile. Версия 3.0A Система управления электронной картотекой РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ Copyright (c) Борис Курицын декабрь 1994 [22.9 кВ] Что нового в версии... ------------------------------------------ Версия 3.0 Значительные изменения внутренней структу- ры, исправление около 10 мелких ошибок, новая палитра цветов, новый улучшенный драйвер клавиатуры, специальный тип файла для картотек, более эффективное использо- вание памяти, полная (257 байт) таблица векторов прерываний, доработка документа- ции и др. Версия 3.0а Исправление ошибки, внесённой при встраи- вании нового драйвера клавиатуры. Что такое CardFile? ------------------------------------------ CardFile - система управления базой дан- ных, организованной по принципу картотеки. CardFile является почти полным переложени- ем одноименной программы из MicroSoft Win- dows 3.1. Оконный интерфейс ВК CardFile ------------------------------------------ Программа поддерживает оконный интерфейс с пользователем, близкий к интерфейсу ком- пьютеров Apple Macintosh. Интерфейс построен на основе библиотеки Human Interface Library ver 3.8, написан- ной автором. Все управление программой, кроме ввода текста, выполняется курсором-стрелкой, ко- торая управляется от: - Кемпстон джойстика - Курсор-джойстика и курсорных клавиш - Набора клавиш Q A О Р M - Набора клавиш S X О Р Space Перемещая курсор по экрану, Вы обнаружите, что на нем есть зоны, где стрелка высвечи- вает слова или символы. Если, установив курсор на такую зону, нажать клавишу ВЫ- БОР, то произойдет действие, определяемое словом (символом), которое было высвечено. Если это элемент меню, откроется окно ме- ню, если слово оканчивалось троеточием, будет запрошена дополнительная информация, если за словом нарисован знак >, будет от- крыто окно с подменю действий. В дальнейшем операцию расположения курсора на выделяемой зоне и нажатия клавиши ВЫБОР мы будем называть ФИКСИРОВАНИЕM. Чтобы закрыть ошибочно открытое окно, необходимо ЗАФИКСИРОВАТЬ курсор за пределами окна (не на зоне, а где угодно). ПРИМЕЧАНИЕ: сущес- твуют зоны, которые не индуцируются инвер- тированием. Специальные символы применяются, чтобы по- казывать текущее состояние переключателей или в случае, когда нужно выбрать один объект из нескольких. Во-первых, - это "галочка". Она отмечает выбранный из нескольких объект или режим. Во-вторых, - это пара символов [ ] и [х]. Наличие крестика в символе означает вклю- ченное состояние индуцируемого режима. Аналогично, пара символов () и (*) ис- пользуется для набора переключателей режи- мов с зависимой фиксацией. Кнопка - это слово или символ в прямоу- гольной рамке. Она используется для быст- рого доступа к командам. Кнопка может ком- бинироваться с другими специальными симво- лами. В процессе работы с CardFile Вы обнаружи- те, что некоторые кнопки и строки меню не всегда выбираются - значит, исполнение ко- манды, ими осуществляемой, невозможно в данный момент. Например, Вы начали рабо- тать с чистой картотекой при помощи коман- ды File | New. Тут же оказалось, что не высвечивается множество команд: сохране- ния, печати, редактирования, поиска, не работают кнопки движения по списку... По- чему? Просто ни одна из этих операций не имеет смысла, если в картотеке нет хотя бы одной карточки. Как только Вы создадите карточку (Card | Add), все эти функции станут доступны. Иногда зона диалога всё же выбирается, но не выполняет никаких действий. Общепринятым является обозначение пути по меню в виде: а|Ь|c|d. Это означает, что нужно войти в меню а, там выбрать опцию Ь, в открывшемся окне выбрать элемент меню или опцию c и т.д. Такой метод описания применяется в настоящей инструкции. Ска- жем, запись card|add|after означает, что нужно войти вменю card, там выбрать эле- мент add, и в открывшемся подокне выбрать команду after. Такая последовательность действий вызовет исполнение команды "до- бавить новую карточку после текущей". Структура картотеки ------------------------------------------ Карточка организована по принципу ИНДЕКС -> ИНФОРМАЦИЯ, как это сделано в любой картотеке. ИНДЕКСОМ является строка симво- лов длиной не более 30. ИНФОРМАЦИЯ - любой текст, сохраненный в карточке, не более 18 строк шириной до 30 символов. Например, при создании картотеки адресов и телефонов наиболее логично индексом сде- лать фамилию и инициалы персоны, а все ос- тальные данные внести в поле ИНФОРМАЦИЯ. Просмотр, режимы просмотра ------------------------------------------ Картотеку можно отображать на экране в 2-х режимах: КАРТОЧКА и СПИСОК (CARD и LIST). В режиме CARD Вы видите индекс карточки вверху и информацию карточки ниже. В режиме LIST на экране Вы видите список индексов карточек (до 20 индексов одновре- менно). В режиме LIST Вы можете перейти к просмотру конкретной карточки, зафиксиро- вав курсор на ее индексе (подробнее см. "Опции режима LIST"). Переключение режимов выполняется фиксиро- ванием курсора на кнопке с переменным сос- тоянием CARD/LIST, которая расположена в верхней части экрана. Активная карточка ------------------------------------------ Карточка, отображенная на экране в режиме Card, или верхняя карточка из отображенной части списка в режиме List называется ак- тивной. Большинство действий выполняются именно над активной карточкой. Линейка кнопок ------------------------------------------ Линейка кнопок содержит элементы для быст- рого управления картотекой. Это: - Кнопка Card/List для переключения режи- мов просмотра. - Кнопка "В начало" (в виде сцепленных квадратов), которая перемещает указатель активной карточки в начало списка. - Кнопки "Вверх" и "Вниз", которые служат для перемещения по картотеке. Их "нажатие" перемещает указатель активной карточки к началу или концу картотеки на 1 или 20 карточек в зависимости от режима просмот- ра: 1 в режиме CARD и 20 - LIST. - Кнопка "f.next", которая дублирует опцию меню Search | Find next. Планка меню ------------------------------------------ При помощи этой планки, расположенной в самой верхней строке экрана, осуществляет- ся доступ к "выпадающим" (pull-down) меню. Меню File содержит все команды ввода/вывода, печати и т.д. Меню Edit дает доступ к командам редактирования карточек. Меню Card позволяет манипулировать карточками: до- бавлять, удалять, дублировать их. Меню Search применяется для любых видов поиска инфор- мации в картотеке. Меню Misc содержит команды различного назначения. Контроль сохранения картотеки ------------------------------------------ CardFile запоминает информациюо любых из- менениях в картотеке и при попытке выпол- нить разрушающие действия (exit, open, link) выдает предупреждение: File пот sa- ved! с предложением отказаться от опера- ции. Меню File ------------------------------------------ Группа команд ввода/вывода: File|new Начать создание новой картотеки; текущая стирается. File|open... Открыть файл. Вызывается диалоговое окно "Файловая операция" для выбора файла (см. "Окно <<Файловая операция>>" относительно работы с этой и последующими командами ввода/вывода). File|save Сохранение картотеки в файле, с последним использованным именем, на последнем ис- пользованном устройстве; при работе с дис- ком может быть запрошено разрешение на пе- резапись (overwrite) файла. File|Save as... Сохранение файла с запросом имени через стандартное окно. File|merge... Слияние картотек; к текущей подгружается указанная картотека; ее карточки размеща- ются в конце списка. Группа команд печати: File|print Печать активной карточки на принтере. File|print all Печать всей картотеки на принтере. Печать можно прервать нажатием BREAK. Смотри "Связь с принтером" для подробной информации. Группа команд связи с операционной систе- мой: File|DOS shell Временный выход в TR-DOS; возврат по ко- манде RETURN. File|exit Выход из CardFile; при подключенном Beta Disk Interface пытается запустить програм- му boot с текущего дисковода, полагая, что это оболочка TR-DOS. Меню Edit ------------------------------------------ Edit|index: Редактирование в окне индекса активной карточки; завершается нажатием Enter. Edit|info: Редактирование информации активной кар- точки; завершается нажатием ss/Q или cs/ ss. Общая информация. При редактировании всег- да раборают следующие клавиши: Caps Lock (CS/2) переключатель режима заглавных букв. Delete (CS/0) удаляет символ слева от курсора. Edit (CS/1) переключатель режима кириллического/ла- тинского ввода, что индуцируется символом "L" (лат.) в левом нижнем углу текущего окна. SS/Е очищает редактируемую строку. Редактор карточки. Редактор`информации карточки имеет отличия от редактора полей ввода. Он позволяет перемещать курсор по символам при помощи стрелок и вносить из- менения в режиме ВСТАВКА. Чтобы удалить текущую строку, нажмите SS/ W; а чтобы вставить пустую строку перед текущей - SS/I. Нажатие Enter перемещает курсор к началу следующей строки. Редакти- рование карточки завершается нажатием SS/ Q, Extend. Редактор карточек содержит бу- феризированный драйвер клавиатуры (буфер - 16 символов). Если Вы вводите текст доста- точно быстро, карточка не перерисовывает- ся, чтобы быстрей обрабатывать Ваш ввод. Она будет перерисована, как только Вы сде- лаете небольшую паузу в наборе. Меню Card ------------------------------------------ Card|add|before/after Добавляет пустую карточку перед активной (before) или после неё (after). Card|delete Удаляет активную карточку, предварительно спрашивая подтверждения. Card|duplicate Дублирует активную карточку. Card|link См. "Логически связанные картотеки". Меню Search ------------------------------------------ Search|find... в диалоговом окне нужно ввести текст для поиска, а так же указать, нужно ли искать его от начала картотеки (from begin) или с текущей позиции (from this card) и где ис- кать: в индексах (in index), в информации (in info) или в обоих сразу. Search|find next поиск следующего вхождения текста после того, как он уже был найден. Search|quick... отличается от |find... только тем, что после открытия окна сразу активизируется редактор поля Find What, а по завершении редактирования начинается поиск с текущими значениями переключателей. Команда Quick является более быстрым методом доступа к команде Find. Поскольку можно выбирать, где (в индексе или информации) искать текст, меню Search позволяет очень удобно находить любую ин- формацию в картотеке. Когда текст найден, карточка, его содержа- щая, становится активной (режим просмотра не изменяется). Если текст не найден, выдается окно с со- общением об этом, а активной становится первая карточка. Меню Misc ------------------------------------------ Misc|Memory info Информация о занятости памяти. Misc|Refresh screen Восстановление содержимого экрана в слу- чае его нарушения по какой-либо причине. Misc|About Сообщает об авторе и версии программы. Также выдаётся сообщение о лицензии. Misc|Pallete Позволяет изменить цветовую палитру оконного интерфейса программы. Предлагает- ся на выбор 3 палитры: blue - основная, которая активна непосред- ственно при входе в программу; black/white - монохромная, которую предпо- читают владельцы черно-белых мониторов; ocean - дополнительная цветная, в которой любят работать владельцы очень качествен- ных цветных мониторов. Misc|Options Различные установки режимов. After CR append LF Нужно ли при передаче на принтер переда- вать код LF после кода CR; это зависит от принтера и драйвера. Recode то КОИ-8 Нужно ли при передаче данных на принтер перекодировать их в кодировку КОИ-8. Kempston joystick Разрешено ли управление от Кемпстон- -джойстика. Click... switches то См. "Опции режима List" Misc|smart drives Внимание! Не пользуйтесь командой, не прочитав инструкцию. Команда "Быстрые приводы" применяется с теми версиями системы TR-DOS, которые при ошибке считывания сектора уменьшают ско- рость шагового двигателя привода головок дисководов. Такое уменьшение часто приво- дит к ухудшению читабельности дискет и к замедлению обмена с диском. Smart drives устанавливает для всех иницализированных дисководов скорость перемещения головки, равную 8 (в блоке параметров TR-DOS, по адресам 23802-23805). Внимание! Возможно, существуют дисководы, для которых такая скорость велика! Не применяйте smart dri- ves, если у Вас такой дисковод! Проверить это можно так: с каждого дисковода считай- те каталог, после чего из Basic'а дайте команду: PRINT РЕЕК (23802+drive) где dri- ve - номер дисковода (от 0 до 3). Если хо- тя бы для одного из подключенных дисково- дов значение больше 8, smart drives лучше не использовать. Окно "Файловая операция" ------------------------------------------ Это стандартное окно спецификации CUA на пользовательский интерфейс. Задача пользователя при диалоге в этом ок- не - выбрать устройство и имя файла для операции ввода/вывода, которая инициирова- ла появление окна. Пользователь может указать имя файла сле- дующим образом: отредактировать его обыч- ным методом в поле Filename или фиксацией курсора на имени из скроллера файлов теку- щего устройства. Список в скроллере можно "тащить", нажимая на кнопки "вверх" и "вниз" линейки прокрутки. Позиция ползунка линейки отражает то, какая часть списка файлов видна в данный момент, а длина пол- зунка показывает, насколько много файлов поместилось в зону просмотра скроллера по сравнению с их общим количеством. Нажимая на стрелку в строке Drive, можно в подокне сменить устройство ввода/вывода (естественно, для ленты скроллер недосту- пен). Кнопка Ок завершает выбор имени, кнопка Cancel отменяет операцию, кнопка ReRead перечитывает каталог. Обратите внимание: ввод пустого имени фай- ла при операции Open или Merge для магнит- ной ленты означает, что необходимо счи- тать первый попавшийся файл (с версии 2.5). С версии 2.6 в окно добавлен флаг Turbo таре. Если он активен, то ввод/вывод на ленту производится в турбо-формате (ско- рость 2400 бит/сек). С версии 2.7 зоны линейки прокрутки не ин- вертируются. Фиксация курсора на каком-то участке линейки приводит к перемещению ту- да ползунка скроллера. С версии 2.8 картотеку можно сохранять на дисках системы TR-DOS не только с типом файла <С>, но и со специальным типом . Когда флаг F- -files включен, в скроллере показываются файлы типа . Соответственно, в зависи- мости от положения F-files файл сохраняет- ся с типом <С> или . Используя файлы типа , Вы должны помнить, что из-за нестандартности типа они не могут быть об- работаны (скопированы, переименованы, уда- лены) командами TR-DOS, а только оболочка- ми таких систем как Conver, IS-Shell, Service и т.п. Чтобы не запутаться с фай- лами, автор рекомендует хранить картотеки только с типом <С> или только с типом . Проблемы обмена с магнитной лентой нет в любом случае: действие флага F-files рас- пространяется только на TR-DOS. С версии 3.0 память для считывания катало- га диска (для составления списка скролле- ра) выделяется во внутренней динамической памяти CardFile. Поэтому, если нет хотя бы 256 свободных байт (что можно узнать опци- ей Misc | Memory info), то скроллер запол- няться и работать не будет, что не влияет на работу остальных элементов окна. В этом случае каталог Вы можете просмотреть в TR- -DOS, используя команду Dos shell. Опции режима List ------------------------------------------ Действие, которое происходит при фиксации курсора на индексе карточки в режиме List, Вы можете выбрать сами (с версии 2.2). Этот выбор осуществляется изменением запи- си Click... switches то в окне Misc | Ор- tions. Изменятся запись путем фиксации курсора на символе "стрелка вниз" возле записи, после чего открывается ещё одно окно с вариантами: NOTHING - нет дополнительной функции, т.е. фиксация курсора на индексе карточки в ре- жиме List только делает её активной; CARD VIEW - переход в режим card с указан- ной карточкой; LINK - попытка сделать операцию link с указанной карточкой; EDIT INFO - редактировать поле info ука- занной карточки; EDIT INDEX - редактировать поле index ука- занной карточки. Две последние функции сохраняют режим List после исполнения операции. Такой подход оказывается весьма удобным и эффективным. В зависимости от того, чем Вы собираетесь заниматься в ближайшее время, Вы устанавливаете необходимую Вам функцию в меню Misc | Options и в дальнейшем имее- те возможность более быстро получать дос- туп к этой функции. При этом через меню Вы можете вызвать любую другую функцию, но менее оперативно. Функцией по умолчанию является card view. Связь с принтером ------------------------------------------ Принтер должен быть подключен стандартным образом на поток #3 через любой интерфейс. Если применяемый интерфейс принтера требу- ет подгрузки драйвера, то он должен быть загружен до запуска CardFile (драйвер дол- жен быть расположен в буфере ZX-Printer). Применяемый принтер должен поддерживать кодовую страницу 866 (в просторечии "аль- тернативная кодировка") или кодировку КОИ- -8 для нормальной печати русских символов. Кодировка переключается в меню Misc | Ор- tions. Если Вы используете интерфейс ZX Lprint III, не забудьте перевести его в неинтер- претирующий режим передачи данных командой LPRINT : LPRINT CHR$ 5 перед запуском Card File. Если Ваш принтер требует какой-либо коман- ды для печати в кодировке КОИ-8, переда- вайте эту команду до загрузки CardFile. Передача ее из CF не поддерживается, так как на нее нет стандарта. Формат файла картотеки ------------------------------------------ Здесь приводится описание формата файла картотеки, чтобы программисты могли писать свои собственные программы, использующие картотеку как входные данные или програм- мы, генерирующие файлы картотеки. Описание. Картотека состоит из произволь- ного (ограниченного размером памяти) числа карточек, расположенных последовательно. Каждая карточка состоит из заголовка (до 30 символов с ограничителем ASCII 13 (CR)) и информации (до 18 строк, не более чем по 30 символов; каждая строка ограничена сим- волом CR, если ее длина меньше 30 симво- лов). За информацией расположен маркер конца карточки - символ ASCII 1. В индексах и информации могут быть исполь- зованы не все символы. Могут применяться: - символы ASCII (коды 32-127); - символы русского, украинского и белорус- ского алфавитов применяемой 866-ой кодо- вой страницы символов. Остальные символы зарезервированы или име- ют специальное значение в ВК CardFile и не могут быть использованы. Импорт текстов из Speccy Write ------------------------------------------ Файл текстового редактора Speccy Write легко может быть преобразован в формат CF. Для этого текст должен быть отформатирован под ширину строки 29 символов, с левым по- лем шириной 0. После этого в конце каждой предполагаемой карточки припомощи команды редактора ext I вставьте маркер конца - символ с кодом 1 (это будет символ в верх- нем ряду таблицы, первый непустой, считая слева). Убедитесь, что длина индексов не более 30 разрешенных символов. Убедитесь, что файл не содержит запрещенных в ВК Card File символов (см. "Формат файла картоте- ки"). Логически связанные картотеки ------------------------------------------ С версии 2.0 CardFile поддерживает концеп- цию связанных картотек. Очень часто картотека так разрастается, что не помещается в один файл, и в то же время в ней можно выделить тематически обособленные наборы карточек. Метод логической связки предусматривает следующее: 1. Картотека делится на более мелкие, каж- дая со своим тематическим направлением (например, картотека "Мой телефонный спра- вочник" делится на несколько: "Мои друзья в Киеве", "Местные телефоны", "Коды между- городней телефонной связи" и так далее). 2. В полученных файлах добавляются взаим- ные LINK-связи. Это делается следующим об- разом: в картотеку вносится карточка с ин- дексом, отражающим содержимое связываемого файла, а в info-поле этой карточки вносит- ся такая строка: @имя_файла. Причем она должна быть вписана строго с первого сим- вола поля info. 3. В результате мы получили в этой карто- теке карточку, символизирующую другую кар- тотеку. Чтобы "попасть" в ту картотеку, нужно всего лишь сделать LINK-карточку ак- тивной и выполнить команду Card | link. Указанный в карточке файл будет загружен с текущего устройства. Поскольку фактически делается операция открытия файла File | Open..., то в случае ненахождения указан- ного файла он будет полагаться "новым" и буфер будет очищен, чтобы Вы могли начать создавать файл. 4. Аналогично, в том, связываемом файле можно создать обратную ссылку для возврата в этот файл. 5. В первой строке поля info в LINK-кар- точке, кроме указанной выше @-записи ниче- го не должно быть. Особые замечания ------------------------------------------ * Загрузчик CardFile частично распознает наличие TR-DOS: если она подключена и инс- таллирована, загрузчик полагает, что Card- File грузится с диска, иначе - с ленты. Если TR-DOS подключена, а Вы хотите загру- зить CardFile с ленты, дайте предваритель- но команду NEW. * При использовании компьютера Selto Rotor Computer V03 необходимо изменить внутренюю таблицу скен-кодов на специальную (см. "Смена раскладки клавиатуры"). * Чтобы перенести CardFile в TR-DOS, прос- то перепишите все ее файлы на диск; чтобы работать с ней в ленточном варианте, запи- шите файлы на ленту в таком порядке: Program: CARDFILE Bytes: CF.ЕХЕ Program: CF.BAS * С версии 2.1Ь CardFile полностью перех- ватывает все сообщения TR-DOS, включая "Read only" и "Disk еггог". Эти сообщения выводятся совершенно обычным образом, но в специальном окне CardFile. * На 128 кВ компьютерах CardFile рекомен- дуется запускать в режиме совместимости (48 кВ). * С версии 2.5 фиксирование курсора на ин- дексе или первой строке информации карточ- ки в режиме card позволяет быстро войти в режим редактирования соответствующего по- ля. Вот и все... По любым вопросам Вы можете обратиться к автору, написав по адресу: 257010 Украина, Черкассы-10, а/я 1529. Курицыну Борису Александровичу. Автор будет рад услышать критические заме- чания или предложения по совершенствованию ВК CardFile.