







                       Р Е Д А К Т О Р

               Б А З   Д А Н Н Ы Х  типа dBASE




                         d B E D I T



















            Саяпин А.А.
            Москва 1994

                          Аннотация

     Программа dBEdit предназначена для редактирования файлов
баз данных  в формате  DBF (используются СУБД dBASE, FoxBase,
Clipper и  др.). Файлы баз данных могут быть перенесены с IBM
PC с  помощью программы  PCBK (с выключенной перекодировкой).
dBEdit  продолжает   линию,  начатую   программой  DBWIEW,  и
построен в  том  же  ключе.  Программа  позволяет  создавать,
просматривать и редактировать базы данных по записям и в виде
таблицы,  получать   справочную  информацию  о  базе  данных,
осуществлять  переход  по  номеру  записи  и  поиск  заданной
подстроки, вставлять и удалять записи.

                                                   А.А.Саяпин
                                                    (c)  1993
                     1. Запуск программы

     Программа  может   быть  запущена  из  командной  строки
командой

RUN DBEDIT

     если файл DBEDIT.SAV расположен на DK:, или просто

DBEDIT

     если файл  DBEDIT.SAV расположен  на  SY:.  Можно  также
указать  имя  редактируемой  базы  данных в  той  же  строке,
например

DBEDIT KLIENT.DBF

     (расширение .DBF  можно не  указывать).  Если  имя  базы
данных сразу не указано, программа выводит на экран запрос

file.DBF>

      в ответ на который нужно ввести имя файла.

     Если  вы   используете   InterCommander,   рекомендуется
добавить в файл SY:IC.EDI строку

DBF: DBEDIT !:!

     В этом  случае для редактирования базы данных достаточно
подвести курсор к нужному файлу и нажать АР2/4.
     ВНИМАНИЕ! Следует  понимать, что  в отличие от текстовых
редакторов,   редактирование    базы   данных    производится
непосредственно  на   диске,  поэтому  выход  без  записи  (с
сохранением состояния до редактирования) невозможен. Поэтому,
если у  Вас нет  полной уверенности  в своих  действиях,  или
плохо  работает   аппаратура,  перед  началом  редактирования
скопируйте базу данных в файл с другим именем или  на  другой
диск.


              2. Что такое база данных типа DBF


     Системы  управления  базами  данных,  такие  как  dBase,
FoxBase, Clipper  и другие  работают  с  реляционными  базами
данных.  Все  эти  программы  используют  совместимый  формат
хранения баз данных на диске, впервые примененный в программе
dBase и  имеющий расширение  DBF. Строго  говоря, реляционная
база данных представляет собой совокупность таблиц, каждая из
которых  хранится  в  отдельном  файле.  Таблицы  могут  быть
связаны между  собой определенными  отношениями. Информация о
связях  хранится   в  служебных   файлах.  Программа   DBEdit
предназначена для  редактирования только  одного  файла  DBF,
поэтому далее базой данных мы будем называть одну таблицу.
     База данных  представляет собой  прямоугольную  таблицу,
столбцы которой  называются  полями,  а  строки  -  записями.
Каждое поле  имеет имя (до 10 символов), тип и длину, которая
для некоторых  типов является  фиксированной,  а  для  других
задается пользователем  при создании базы данных. Одноименные
поля всех  записей имеют  одинаковую длину  и тип. Тип записи
обозначается одной буквой.
     Возможные типы записей:

     C - символьная строка,
     N - число,
     D - дата,
     L - логическое значение,
     M - примечание.

     Символьные строки  могут иметь  длину  до  256  символов
(программа DBEdit может редактировать до 80 символов).
     Числовые   данные   хранятся   в   символьном   виде   с
фиксированной точкой,  общая длина  числового поля  -  до  17
символов. Для  числового поля  может быть  указано количество
разрядов после десятичной точки.
     Поле даты  имеет фиксированную длину 8 символов. В файле
дата хранится  в формате CCYYMMDD, где CC - век, YY - год, MM
- месяц,  DD -  день. Программа  DBEdit для  вывода на  экран
использует формат DD.MM.YY
     Поля логического  типа имеют  длину  1  символ  и  могут
содержать символы 'Y', 'y', 'T', 't' - со значением "Истина",
или 'N', 'n', 'F', 'f' - со значением "Ложь".
     Поля примечаний  содержат информацию  о положении  блока
текста в  специальном файле  примечаний с расширением ".DBT".
Программа DBEdit не поддерживает работу с этими полями.
     ПРИМЕЧАНИЕ. Программа DBEdit позволяет при создании базы
данных  вводить   имена  полей  с  русскими  буквами,  однако
необходимо помнить,  что не все СУБД на IBM PC,  работающие с
файлами DBF, смогут обработать такие имена. Поэтому, если для
Вас важна  совместимость, используйте  в именах  полей только
латинские буквы и цифры.


                   3. Создание базы данных


     Если программе  DBEdit задано имя файла, которого нет на
диске, она  выводит сообщение  об этом,  в ответ  на  которое
нужно нажать  ВВОД. После  этого на экране появится запрос на
создание новой  базы данных.  Если  Вы  хотите  создать  базу
данных, еще  раз нажмите  ВВОД, если  же Вы просто ошиблись в
наборе имени файла, нажмите клавишу КТ.
     Если  Вы   нажали  ВВОД,  программа  переходит  в  режим
создания базы  данных. Экран  очищается, в  верхней его части
появляется статусная  строка, в  которой  отображается  режим
работы программы  "dBASE  Create:"  и  имя  создаваемой  базы
данных. Нижняя строка экрана - область функциональных клавиш,
в ней  отображаются названия  так  называемых  функциональных
клавиш. Напомним,  что  в  БК0011М  так  называются  цифровые
клавиши, нажимаемые  одновременно с  клавишей АР2.  В  правой
части экрана  располагается подсказка  с  допустимыми  типами
полей и их обозначениями.
     Слева  располагается   таблица,  отображающая  структуру
создаваемой базы  данных. В самом начале таблица имеет только
заголовок, содержащий  поля "Имя  поля",  "Тип",  "Ширина"  и
"Дес.", а  также пустую  строку для  ввода первого  поля базы
данных.
     Программа может  находиться  в  двух  состояниях:  ввода
данных   и   перемещения   по   таблице.   Первое   состояние
характеризуется появлением  поля ввода  под таблицей  в  виде
инверсной строки.  После ввода  данных и нажатия клавиши ВВОД
для окончания  ввода или  клавиши  КТ  для  отмены  программа
переходит в режим перемещения. В этом режиме можно перемещать
курсор  в  виде  белого  треугольника  по  таблице,  а  также
нажимать  функциональные  клавиши.  Для  редактирования  поля
нужно подогнать  курсор к нужной клетке и нажать клавишу ВВОД
для перехода  в режим  редактирования.  Для  некоторых  типов
полей программа  автоматически устанавливает  ширину  поля  в
таблице. Рассмотрим действие функциональных клавиш.

                      3.1. АР2/1 - Инфо

     При нажатии  АР2/1 на  экране появляется  окно  с  более
подробной информацией  о возможных типах полей в базе данных.
Для выхода из подсказки нажмите ВВОД или КТ.

                   3.2. АР2/6 - Добавление

     Используется для добавления нового поля в конец таблицы.
Независимо от  положения курсора  в конец таблицы добавляется
пустая строка, курсор переходит в нее и программа переходит в
режим ввода имени поля.

                    3.3. АР2/7 - Вставка

     Используется для вставки нового поля в середину таблицы.
В месте положения курсора вставляется пустая строка, а строки
ниже курсора смещаются на одну вниз.

                  3.4. АР2/8 - Уничтожение

     Строка, в которой стоит курсор,  стирается,  строки ниже
курсора перемещаются на одну вверх.

                 3.5. КТ - Выход без записи

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

                     3.6. АР2/0 - Выход

     После того,  как  Вы  завершили  формирование  структуры
новой таблицы,  нужно  нажать  АР2/0  для  выхода  из  режима
создания.  Программа   запросит  подтверждение,  в  ответ  на
которое нужно  нажать ВВОД  для сохранения таблицы или КТ для
продолжения редактирования.  Если Вы  нажали ВВОД,  программа
проверяет,  все   ли  поля  таблицы  заполнены,  и  в  случае
недостатка информации  выводит  сообщение  и  возвращается  в
режим создания.  Если  же  таблица  заполнена  правильно,  на
экране появляется  запрос количества  записей,  для  которого
будет зарезервировано  место в  создаваемой базе  данных.  На
основе введенного  числа программа  вычисляет размер  файла с
округлением в  большую сторону, и в случае успешного создания
выводит сообщение  с именем созданной базы данных и переходит
в режим ее редактирования.


                4. Редактирование базы данных


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

               4.1. Перемещение по базе данных

     Положение  в   базе  данных   указывает  курсор  в  виде
треугольника. В  отличие от программы dBVIEW курсор указывает
не  на  целую  запись,  а  на  поле  внутри  записи,  которое
предназначено для  редактирования. Курсор  находится слева от
редактируемого поля
     Продвигаться  по  базе  данных  можно,  нажимая  клавиши
управления  курсором.  В  режиме  редактирования  по  записям
клавиши ВЛЕВО  и ВПРАВО  не действуют.  Нажатие ВНИЗ  и ВВЕРХ
перемещает курсор  на следующее  или предыдущее  поле текущей
записи. Для  перемещения к  следующей или  предыдущей  записи
нужно нажать  АР2/ВНИЗ (аналог  клавиши "Page  Up" на IBM PC)
или АР2/ВВЕРХ (Page Down) соответственно.
     В режиме таблицы для перемещения курсора по полям служат
клавиши ВПРАВО  и ВЛЕВО,  а для перемещения по записям ВНИЗ и
ВВЕРХ. При достижении границ экрана таблица смещается на одно
поле или 16 записей.
     В режиме  таблицы можно  также ускоренно перемещаться по
базе данных, нажимая АР2/ВНИЗ и АР2/ВВЕРХ. При этом курсор из
середины  экрана   перемещается  к  его  нижней  или  верхней
границе, а при последующих нажатиях - на целый экран.
      Клавиши  АР2/ВПРАВО и  АР2/ВЛЕВО перемещают  курсор "на
экран" вправо или влево.

                  4.2. Редактирование поля

     Для перехода в режим редактирования поля нужно подогнать
курсор к  нужному полю  и нажать  клавишу ВВОД.  Под таблицей
появится поле  ввода в  виде инверсной строки соответствующей
длины. Для справки над полем ввода появляется имя и тип поля.
Если поле  уже содержало информацию, то в поле ввода появится
содержимое  выбранного   поля.   Позиция   ввода   отмечается
текстовым курсором в виде мигающего подчеркивания.
     Вы можете отредактировать данные, пользуясь управляющими
клавишами, и затем завершить редактирование поля, нажав ВВОД,
или отказаться от изменения поля, нажав КТ. Однако существует
возможность восстановить  прежнее значение  и  после  нажатия
клавиши ВВОД  нажав СУ/U  (Undo). Однако это работает, только
если курсор  находится в  той же записи и в том же поле, куда
были внесены последние изменения.
     Во  время   редактирования   поля   можно   использовать
следующие управляющие клавиши:
     ЗАБОЙ - удаление символа слева от текстового курсора;
     СБР - стирание всей строки;
     ВЛЕВО - перемещение курсора на один символ влево;
     ВПРАВО - перемещение курсора на один символ вправо;
     АР2/ВЛЕВО - перемещение курсора в начало строки;
     АР2/ВПРАВО - перемещение курсора в конец строки;

           4.3. Удаление и восстановление записей

     Программа  dBEDIT   поддерживает  два  способа  удаления
записей.  Первый   способ  состоит   в  пометке  записей  как
удаленных (поддерживается  форматом  DBF).  При  этом  запись
остается в  базе данных  и продолжает выводиться на экран, но
помечается специальным  признаком. В режиме редактирования по
записям -  это индикатор  "Del" в  статусной строке, в режиме
таблицы - символ "*" в левой части строки. Такие записи могут
быть восстановлены  снятием этой  пометки.  Для  того,  чтобы
физически  удалить   такие  записи   из  базы  данных,  нужно
выполнить операцию упаковки базы данных (см. ниже).
     Для  удаления   (пометки)  записи   нужно  нажать   СУ/D
(Delete), для восстановления - СУ/R (Recall).
     Второй  способ   состоит  в   непосредственном  удалении
заданного количества  записей, начиная от курсора. Оставшиеся
записи подтягиваются  к началу  базы данных.  Удаленные таким
способом записи  не могут  быть восстановлены.  Такой  способ
удаления будем называть уничтожением (см. ниже).

                   4.4. АР2/1 - Информация

     При  нажатии   АР2/1  на   экране  появляется   окно   с
информацией о  базе данных.  Для базы  данных  выводится  имя
файла, количество  записей, количество  полей длина  записи в
байтах, дата  последней  коррекции  и  количество  оставшихся
пустых записей.  Чтобы убрать  с экрана  это окно, достаточно
нажать ВВОД или КТ.

                      4.5. АР2/2 - Поля

     При  нажатии   АР2/2  на   экране  появляется   окно   с
информацией о  полях базы  данных. Для каждого поля выводится
его имя,  тип и  ширина. Для  числовых полей  выводится также
количество десятичных  позиций после  точки, если оно задано.
Обозначения типов записей приведены в гл.2.

                4.6. АР2/3 - Таблица / Запись

     Клавиша   АР2/3    служит   для   переключения   режимов
редактирования по записям или в виде таблицы.

                    4.7. АР2/4 - Переход

     Клавиша АР2/4  позволяет перейти  в  нужное  место  базы
данных по  номеру записи.  При нажатии этой клавиши на экране
появляется окно  с полем  для набора  и редактирования номера
записи. Допустимыми  являются номера  от 1  до  максимального
номера в  базе данных,  который выводится  в  верхней  строке
экрана. Нажатие ВВОД завершает ввод номера, после чего нужная
запись появляется  на экране  или  в  нее  переходит  курсор.
Нажатие КТ отменяет команду.

                     4.8. АР2/5 - Поиск

     Клавиша АР2/5  позволяет  найти  в  базе  данных  нужное
содержимое  поля.   В  отличие   от  программы  dBVIEW  поиск
производится не  по  всей  базе  данных,  а  только  по  тому
столбцу, в котором находится курсор. При нажатии этой клавиши
появляется  окно   для  редактирования  образца  для  поиска.
Образец должен соответствовать типу поля, в котором находится
курсор. Поиск  осуществляется начиная  с записи, следующей за
текущей. Для нахождения символьного образца необходимо точное
совпадение (с  учетом регистра)  заданной строки с подстрокой
любого поля.  Поиск в числовом поле производится по числовому
значению образца.  Поиск по логическому полю - по логическому
значению. Это  означает, что  при поиске  значения "T"  будут
найдены  и  значения  "t",  "Y",  "y".  При  успешном  поиске
найденная  запись   становится  текущей,   при  неуспешном  -
программа  издает   звуковой  сигнал,  и  текущая  запись  не
меняется.  При   следующем  нажатии   АР2/5   строка   поиска
сохраняется в  окне редактирования, если курсор остался в том
же поле. Очистить поле ввода можно, нажав СБР.

                  4.9. АР2/6 - Добавление.

     Клавиша АР2/6  служит для  добавления  пустой  записи  в
конец базы данных. Курсор перемещается в новую запись в то же
поле, где  он находился,  и программа сразу переходит в режим
редактирования поля.

                    4.10. АР2/7 - Вставка

     Клавиша АР2/7  служит для  вставки одной  или нескольких
пустых записей в середину базы данных. При нажатии клавиши на
экране появляется  запрос количества  записей для вставки. По
умолчанию предлагается 1.
     В   месте   положения   курсора   вставляется   заданное
количество записей,  записи ниже  курсора сдвигаются к концу.
Если курсор  находится далеко  от конца  базы данных, вставка
может занимать значительное время.

                  4.11. АР2/8 - Уничтожение

     Клавиша  АР2/8   служит  для   уничтожения   одной   или
нескольких пустых  записей. При  нажатии  клавиши  на  экране
появляется запрос  количества  записей  для  уничтожения.  По
умолчанию предлагается 1.
     В  месте   положения   курсора   уничтожается   заданное
количество записей,  записи ниже курсора сдвигаются к началу.
Если  курсор   находится  далеко   от  конца   базы   данных,
уничтожение может занимать значительное время.

                   4.12. АР2/9 - Упаковка

     Клавиша  АР2/9   служит  для   упаковки   базы   данных.
Отмеченные записи  уничтожаются, оставшиеся записи сдвигаются
на  их   место.   Перед   упаковкой   программа   запрашивает
подтверждение, в  ответ на  которое  можно  нажать  ВВОД  для
начала операции или КТ для отмены.
     Операция также может занимать значительное время.

-------------------------------------------------------
                     4.13. АР2/0 - Выход

     При нажатии  этой  клавиши  программа  очищает  экран  и
прекращает свою работу.
