Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

ГЛАВА 6. ОПЕРАЦИИ ЗАПИСИ BTRIEVE
| << | < | > | >>

ГЛАВА 6. ОПЕРАЦИИ ЗАПИСИ BTRIEVE

          В этой главе описаны все 36 операций, которые может выполнять
          Ваша прикладная программа при использовании Btrieve. Для каждой
          операции в этой главе представлена следующая информация:

            - Назначение операции.

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

            - Описание действия операции.

            - Предварительные условия, которым должна удовлетворять Ваша
              прикладная программа для успешного выполнения операции.

            - Процедура инициализации параметров, требуемых для выполнения
              операции.

            - Результаты успешного и ошибочного завершения операции.

            - Эффект, оказываемый операцией на Вашу текущую позицию в
              файле.

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

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

          Примеры программ, иллюстрирующие каждую операцию для Pascal,
          COBOL, C и BASIC включены в Приложения C, D, E и F.

ABORT TRANSACTION (21)

(Отмена транзакции)

Н а з н а ч е н и е :

          Abort Transaction отменяет все операции, выполненные с начала
          активной транзакции и завершает транзакцию.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦         ¦            ¦      ¦     ¦
          Возвращаемые        ¦         ¦            ¦      ¦     ¦

О п и с а н и е :

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

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          До выполнения в Вашей прикладной программе операции Abort
          Transaction должны быть выполнены следующие предварительные
          условия:

            - Вы должны задать файл контроля достоверности транзакции
              (используя опцию запуска /T) при загрузке Btrieve&

            - Вы должны успешно выполнить операцию Begin Transaction до
              выполнения операции  Abort Transaction.

          П р о ц е д у р а  :

          Для выполнения операции  Abort Transaction установите код
          операции 21 до выполнения вызова Btrueve. Btrieve проигнорирует
          все остальные параметры при вызове Abort Transaction.

          Р е з у л ь т а т  :

          Если операция Abort Transaction завершилась успешно, Btrieve
          возвратит код статуса равный 0. Все операции Insert(2), Update(3)
          и Delete(4), выполненные с начала транзакции будут удалены из

          файлов.

          Если операция Abort Transaction завершится с ошибками Btrieve
          возвратит ненулевой код статуса, указывающий на причину ошибки.
          Наиболее распространенные ненулевые коды статуса для этой
          операции:

            - 36  Нет конфигурации для транзакций.

            - 39  Нет Begin Transaction

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          Операция Abort Transaction не оказывает влияния на
          позиционирование.

BEGIN TRANSACTION (19)

(Начало транзакции)

Н а з н а ч е н и е :

          Операция Begin Transaction помечает начало множества логически
          связанных Btrieve-операций.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦         ¦            ¦      ¦     ¦
          Возвращаемые        ¦         ¦            ¦      ¦     ¦

          О п и с а н и е  :

          Операция Begin Transaction определяет начало транзакции.
          Транзакции полезны, когда Вам необходимо выполнить множество
          Btrieve-операций для записи единственного события и если Ваша
          база данных несовместима, если все операции не завершены.
          Транзакция может включать любое число Btrieve-операций над не
          более чем 12 файлами. Заключая множество операций между Begin и
          End Transaction Вы можете быть уверены, что Btrieve не запишет
          какую-либо из этих операций до тех пор, пока не будут успешно
          завершены все операции.

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

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

            - Вы должны задать файл контроля достоверности транзакци при
              конфигурации BSERVER.

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

          П р о ц е д у р а  :

          Для выполнения Begin Transaction установите код операции в 19 до
          вызова Btrieve. Btrieve проигнорирует все другие параметры при
          вызове Begin Transaction.

          Р е з у л ь т а т  :

          Если операция Begin Transaction завершилась успешно, Btrieve

          вернет код статуса равный 0.

          Если операция завершится с ошибками, Btrieve вернет ненулевой код
          статуса. Наиболее распространееные ненулевые коды статуса для
          этой операции:

            - 36  Нет конфигурации для транзакций

            - 37  Транзакция не активна

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          Операция Begin Transaction не оказывает влияния на
          позиционирование.

          CLEAR OWNER (30)
          (Очистить владельца)

          Н а з н а ч е н и е  :

          Операция Clear Owner удаляет имя владельца, связанное с Btrieve-
          файлом.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦    x    ¦            ¦      ¦     ¦
          Возвращаемые        ¦    x    ¦            ¦      ¦     ¦

          О п и с а н и е  :

          Clear Owner удаляет имя владельца, присвоенное Вами файлу
          операцией Set Owner. Если предварительно данные были зашифрованы
          Btrieve расшифрует данные во время операции Clear Owner.

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          До того, как Ваша прикладная программа запросит операцию
          Clear Owner должны быть выполнены следующие предварительные
          условия:

            - Btrieve-файл должен быть открыт.

            - Имя владельца должно быть присвоено файлу.

            - Не должно быть активных транзакций.

          П р о ц е д у р а  :

          Для выполнения операции Clear Owner установите следующие Btrieve-
          параметры:

            - Установите код операции в 30.

            - Передайте блок позиции, идентифицированный с файлом, который
              Вы хотите очистить

          Р е з у л ь т а т  :

          После операции Clear Owner Btrieve больше не запрашивает имя
          владельца при попытке открыть файл. Если Вы предварительно
          зашифровали данные в Btrieve-файле,когда задавали владельца,

          Btrieve расшифрует данные во время операции Clear Owner  Чем
          больше данных должен расшифровать Btrieve, тем дольше выполняется
          операция Clear Owner.

          Наиболее распростанееные ненулевые коды статуса для этой операции

            -  3  Файл не открыт

            -  41  Операция недопустима

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          Clear Owner не оказывает эффекта на позиционирование.

CLOSE (1)

(Закрыть)

Н а з н а ч е н и е :

Операция Close закрывает Btrieve-файл.

П р и м е н е н и е п а р а м е т р о в :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦    x    ¦            ¦      ¦     ¦
          Возвращаемые        ¦         ¦            ¦      ¦     ¦

О п и с а н и е :

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

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

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

            - Btrieve-файл должен быть открыт.

            - Все транзакции должны быть закончены или отменены.

          П р о ц е д у р а  :

          Для выполнения этой операции установите следующие Btrieve-
          параметры:

             - Установите код операции в 1.

            - Передайте достоверный блок позиции для файла, который Вы
              хотите закрыть

          Р е з у л ь т а т  :

          Если операция Close завершилась успешно, произойдет следующее:

            - Блок позиции дя закрытого файла не будет больше достоверным.

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

          Если операция Close завершилась ошибочно, файл останется открытым
          Наиболее распростанееный ненулевой код статуса для этой операции
          статус 3 (файл не открыт).

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          Close удаляет всю позиционную информацию, связанную с файлом.

          CREATE (14)
          (Создать)

          Н а з н а ч е н и е  :

          Операция Create создает Btrieve-файл с заданным набором
          характеристик.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦   x     ¦      x     ¦   x  ¦  x  ¦  x
          Возвращаемые        ¦   x     ¦            ¦   x  ¦     ¦

          О п и с а н и е  :

          Операция Create позволяет Вам создать Btrieve-файл из Вашей
          прикладной программы. Она выполняет ту же функцию, что и утилита
          CREATE, описанная в Главе 3. См. Главы 3 и 4 этого руководства
          для дополнительной информации о характеристиках файлов и ключей,
          которые требуется задать при создании файла.

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

            - Спецификации файла

            - Характеристики ключей

            - Альтернативну последовательность поиска

            _ Длину буфера данных

          Btrieve ожидает, что буфер данных будет отформатирован как
          показано в Таблице 6.1.


                            ¦   Описание            ¦Длина¦
                            +-----------------------+-----+
                            ¦ длина записи          ¦  2  ¦
                            ¦-----------------------¦-----¦
                            ¦ размер страницы       ¦  2  ¦
                            ¦-----------------------¦-----¦
             спецификации   ¦ кол-во индексов       ¦  2  ¦
                файла       ¦-----------------------¦-----¦
                            ¦ не используется       ¦  2  ¦
                            ¦-----------------------¦-----¦
                            ¦ флаги файла           ¦  4  ¦
                            ¦-----------------------¦-----¦
                            ¦ резервное слово       ¦  2  ¦
                            ¦-----------------------¦-----¦
                            ¦ размещение            ¦  2  ¦
                            L-----------------------+------
                            ¦   Описание             Длина¦
                            +-----------------------T-----+
                            ¦ позиция ключа         ¦  2  ¦
                            ¦-----------------------¦-----¦
                            ¦ длина ключа           ¦  2  ¦
             спецификации   ¦-----------------------¦-----¦
               ключей       ¦ флаги ключа           ¦  2  ¦
                            ¦-----------------------¦-----¦
             (повторяются)  ¦ не используется       ¦  4  ¦
                            ¦-----------------------¦-----¦
                            ¦ тип расширенного ключа¦  4  ¦
                            ¦-----------------------¦-----¦
                            ¦ пустое значение       ¦  2  ¦
                            ¦-----------------------¦-----¦
                            ¦ зарезервировано       ¦  2  ¦
                            L-----------------------+------

                                   Таблица 6.1
                     Структура буфера данных для операции Create

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

          Вы должны разместить "неиспользуемые" и "зарезервированные"
          области буфера данных, даже если Btrieve не использует их в
          операции Create. Инициализируете зарезервированные области нулем,
          чтобы обеспечить совместимость с будующими версиями Btrieve.

          Установка битов в слове флагов файла задает, допускает ли файл

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

          Биты в слове флагов файла пронумерованы с 0 до 15, начиная с 0
          бита. Установите биты в соответствии со следующим описанием:

            - Если бит 0 = 1, Btrieve позволит файлу содержать записи
              переменной длины.

            - Если бит 1 = 1, Btrieve усечет пробельные концы в записях
              переменной длины.

            - Если бит 2 = 1, Btrieve перераспределит количество страниц,
              заданных Вами в слове распределения.

            - Если бит 3 = 1, Btrieve сожмет данные в файле.

            - Если бит 4 = 1, Btrieve создаст файл, состоящий только из
              ключей.

            - Если бит 6 = 1, Btrieve установит 10% границу свободного
              пространства для страниц записей переменной длины.

            - Если бит 7 = 1, Btrieve установит 20% границу свободного
              пространства для страниц записей переменной длины.

            - Если бит 6 = 1 и бит 7 = 1, Btrieve установит 30% границу
              свободного пространства для страниц записей переменной длины.

          Следующая таблица показывает двоичное и десятичное представление
          значений флагов файла:

              Значения                     Двоичное          Десятичное
              переменная длина             00000001             1
              усечение пробелов            00000010             2
              перераспределение            00000100             4
              сжатие данных                00001000             8
              только ключи                 00010000            16
              10% свободное пространство   01000000            64
              20% свободное пространство   10000000           128
              30% свободное пространство   11000000           192

          Если Вам необходимо задать комбинацию из атрибутов файла.
          добавьте соответствующее значение флага. Например, для задания
          файла, допускающего записи переменной длины и усечение пробелов,
          инициализируйте флаги файла значением 3 (2+1). Btrieve игнорирует
          флаги усечение пробелов и грницы свободного пространства, если
          флаг переменной длины установлен в 0.


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

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

          Храните информацию для позиции ключа и длины ключа как целые.

          Установите флаги ключа для задания атрибутов, нужных Вам для
          ключа, в соответствии со следующим описанием:

            - Если бит 0 = 1, ключ допускает дубликаты.

            - Если бит 1 = 1, ключ - модифицируемый.

            - Если бит 2 = 0 и бит 8 = 0, ключ - строковый.

            - Если бит 2 = 1 и бит 8 = 0, ключ - двоичный.

            - Если бит 3 = 1, ключ имеет пустое значение.

            - Если бит 4 = 1, ключ имеет другой сегмент.

            - Если бит 5 = 1, ключ отсортирован с помощью последовательности
              альтернативного поиска.

            - Если бит 6 = 1, ключ отсортирован в убывающем порядке.

            - Бит 7 игнорируется для операции Create.

            - Если бит 8 = 0, ключ - стандартного типа.

            - Если бит 8 = 1, ключ - расширенного типа,

            - Если бит 9 = 1, ключ - ручной.

          Хотя Btrieve игнорирует бит 7 для операции Create, Вы должны
          инициализировать его значением 0 при создании файла. Когда Вы
          объявите операцию Stat (15), Btrieve установит бит 7 в 1, если
          ключ имеет дополнительный индекс и возвратит флаги ключа в
          буфер данных.

          Следующая таблица показывает двоичные, шестнадцетиричные и
          десятичные значения флагов ключа:


            Атрибут             Двоичное   Шестнадцатиричное   Десятичное

            двойной             00000001            01              1
            модифицируемый      00000010            02              2
            двоичный            00000100            04              4
            пустой              00001000            08              8
            сегментированный    00010000            10             16
            альт.посл.поиска    00100000            20             32
            убывающий           01000000            40             64
            дополнительный      10000000            80            128
            расширенного типа 1 00000000           100            256
            ручной           10 00000000           200            512

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

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

          Например, для создания файла с двумя ключами, первый из которых
          состоит из двух сегментов, а второй - из одного сегмента,
          используйте бит 4 флагов ключа следующим образом:

            - В первом блоке ключей установите бит 4 слова флагов ключа
              в 1, показывающую что за этим ключом следует определение
              другого ключевого сегмента.

            - Во втором блоке ключей установите бит 4 слова флагов ключа
              в 0, показывающий что этот блок ключей определяет последний
              сегмент первого ключа.

            - В третьем блоке ключей установите бит 4 слова флагов ключа
              в 0, показывающую что второй ключ имеет только один сегмент.

          Задайте тип расширенного ключа как двоичное значение в байте 10
          блока спецификации ключей. Значения типов расширенных ключей
          показаны ниже:

                          Тип                              Значение

                   string (строка)                            0
                   integer (целое)                            1
                   float (с плавающей запятой)                2
                   date (дата)                                3
                   time (время)                               4
                   decimal (десятичное)                       5
                   money (деньги)                             6

                   logical (логическое)                       7
                   numeric (числовое)                         8
                   bfloat                                     9
                   lstring (l-строка)                        10
                   zstring (z-строка)                        11
                   unsigned binary (двоичное без знака)      14
                   autoincrement (автоинкремент)             15

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

               --------------------------------------------------------
               Примечание:
               Вы можете определить типы расширенного ключа "строка" и
               "двоичное без знака" как стандартные типы так и как
               расширенные типы. Это обеспечивает совместимость с
               прикладными программами, написанными для ранних версий
               Btrieve, в то время как в новых прикладных программах
               допустимо использовать исключительно типы расширенных
               ключей.
               --------------------------------------------------------

          А л ь т е р н а т и в н а я  п о с л е д о в а т е л ь н о с т ь
          п о и с к а . Вы можете задать альтернативную последовательность
          поиска для сортировки по любому числу ключевых сегментов файла.
          Однако, Вы можете задать только ОДНУ альтернативную
          последовательность поиска для всего файла. Вы можете задать, что
          некоторые сегменты одного ключа  должны быть отсортированы в
          стандартной ASCII последовательности поиска, а другие сегменты
          должны быть отсортированы в альтернативной последовательности.

          Вы можете задать альтернативную последовательность поиска для
          ключа типа "l-строка", " z-строка" и "строка". Если Вы
          устанавливаете флаг альтернативной последовательности поиска для
          всех ключей или сегментов ключа в файле, поместите определение
          последовательности поиска непосредственно за последним блоком
          спецификации ключей.

          Т.е. актуальная последовательность поиска сама должна следовать
          за блоком спецификации ключей вместо имени файла, содержащего
          эту последовательность. Определение альтернативной
          последовательности поиска состоит из девяти байтов заголовка, за
          которыми следуют 256 символов, как это описано в разделе
          "Альтернативная последовательность поиска" в Главе 4.

               --------------------------------------------------------
               Примечание:
               Если Вы создаете множество файлов с различными

               альтернативными последовательностями поиска, используйте
               разные имена для каждой последовательности.
               --------------------------------------------------------

          Д л и н а   б у ф е р а   д а н н ы х. Длина буфера данных должна
          быть достаточной для включения спецификаций файла, характеристик
          ключей и альтернативной последовательности поиска, если она
          задана. НЕ задавайте длину записи файла в этом параметре.

          Например, для создания файла с двумя ключами, каждый из которых
          имеет по одному сегменту, и с альтернативной последовательностью
          поиска, буфер данных для операции Create должен иметь длину по
          крайней мере 313 байтов, как показано ниже:

                  Спец.     Спец.       Спец.       Альт.
                  файла  +  ключа 1  +  ключа 2  +  П-ть
                  ________________________________________

                   16    +   16      +    16     +   265     =  313

          Н о м е р   к л ю ч а .  Вы можете использовать параметр номера
          ключа для того, чтобы задать хотите ли Вы, чтобы Btrieve
          предупредил Вас о существовании файла с тем же именем. Задайте
          значение номера ключа следующим образом:

            - ЕСЛИ ВЫ НЕ ХОТИТЕ, ЧТОБЫ BTRIEVE СОЗДАВАЛ НОВЫЙ ФАЙЛ ВМЕСТО
              СУЩЕСТВУЮЩЕГО, установите параметр номера ключа в -1. Если
              файл с тем же самым именем уже существует, Btrieve вернет
              ненулевой статус и не будет создавать новый файл.

            - ЕСЛИ ВЫ ХОТИТЕ, ЧТОБЫ BTRIEVE СОЗДАВАЛ НОВЫЙ ФАЙЛ ВМЕСТО
              СУЩЕСТВУЮЩЕГО, ИЛИ ЕСЛИ ВЫ НЕ ХОТИТЕ ПРОВЕРЯТЬ НАЛИЧИЕ
              СУЩЕСТВОВАНИЯ ФАЙЛА, установите параметр номера ключа в
              ненулевое значение, предпочтительно в 0.

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          Если Вы создаете пустой Btrieve-файл вместо ранее
          существовавшего Btrieve-файла, будьте уверены, что файл закрыт
          перед выполнением операции Create.

          П р о ц е д у р а  :

          Для выполнения операции Create установите следующие Btrieve-
          параметры:

            - Установите код операции в 14.

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

              хранимые в буфере данных, должны быть в двоичном формате.

            - Задайте длину буфера данных.

            - Установите параметр номера ключа в -1, если Вы хотите, чтобы
              Btrieve предупредил Вас о существовании файла с тем же самым
              именем. Иначе, установите параметр номера ключа в 0.

            - Задайте имя файла в буфере ключа. Удостовертесь, что имя
              файла завершается пробелом или двоичным нулем. Вы можете
              задать имя устройства и путь для файла, включая любое число
              уровней директорий.

          Р е з у л ь т а т  :

          Если операция завершилась успешно Btrieve предупредит Вас о
          существовании файла с тем же самым именем или создаст новый файл
          согласно Вашим спецификациям. Новый файл не будет содержать
          записей. Операция Create не открывает файл. Ваша прикладная
          программа должна выполнить операцию Open до того, как файл станет
          доступен.

          Если операция завершилась безуспешно, Btrieve вернет ненулевой
          код статуса, информирующий о причине. Наиболее часто встречающие
          ненулевые коды:

            -  2 Ошибка ввода/вывода файла

            - 22 Буфер данных слишком мал

            - 24 Ошибка размера страницы

            - 25 Ошибка ввода/вывода при создании

            - 26 Число ключей

            - 27 Неверная позиция ключа

            - 28 Неверная длина записи

            - 29 Неверная длина ключа

            - 48 Неверное определение альтернативной последовательности

            - 49 Ошибка типа ключа

            - 59 Файл уже существует

          См. в Приложении B объяснение кодов статуса.


          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          Операция Create не устанавливает какую-либо позиционную
          информацию.


CREATE SUPPLEMENTAL INDEX

(Создание дополнительного индекса) Н а з н а ч е н и е : Операция Create Supplemental Index добавляет дополнительный индекс в файл. П р и м е н е н и е п а р а м е т р о в : --------T----------------------T------T-----T------ ¦ FCB ¦Длина ¦ ¦ Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер ¦ ¦ ¦данных¦ключа¦ключа --------+---------+------------+------+-----+------ Ожидаемые x ¦ x ¦ x ¦ x ¦ ¦ Возвращаемые ¦ ¦ ¦ ¦ ¦ О п и с а н и е : Применяйте операцию Create Supplemental Index для добавления индекса в файл в любое время после того, как ббыл создан файл. П р е д в а р и т е л ь н ы е у с л о в и я : До того, как Ваша прикладная программа запрсит операцию Create Supplemental Index, должны быть выполнены следующие предварительные условия: - Btrieve-файл должен быть открыт. - Количество существующих сегментов ключа в файле должно быть меньше или равно следующей формуле: 24 - (число сегментов, которые надо добавить) - Флаги ключей, позиция и длина нового индекса должны соответствовать файлу, в который Вы добавляете индекс. - Не должно быть активных транзакций. П р о ц е д у р а : Для создания дополнительного индекса установите следующие Btrieve-параметры: - Установите код операции в 31. - Пошлите Btrieve блок позиции для файла, в который Вы хотите добавить индекс. - Сохраните спецификации ключа для нового индекса в буфере данных. Буфер данных состоит из 16-байтового блока спецификации ключа для каждого сегмента создаваемого Вами дополнительного индекса. Используйте ту же самую структуру как в блоке спецификации ключа, используемом в операции Create (14). - Установите параметр длины буфера данных равным количеству байтов в буфере данных. Для нового индекса без альтернативной последовательности поиска используйте следующую формулу для определения правильной длины буфера данных: 16 * (число сегментов) Если новый ключ имеет альтернативную последовательность поиска, используйте следующую формулу для определения правильной длины буфера данных: 16 * (число сегментов) + 265 Р е з у л ь т а т : Btrieve немедленно начнет добавлять новый индекс в файл. Время, требуемое для этой операции, зависит от общего числа записей, которые будут индексированы, размера файла и длины нового индекса. Номер ключа нового индекса на единицу больше, чем номер предыдущего самого старшего ключа. Вы можете использовать новый индекс для доступа к Вашим данным сразу по завершении операции. Если Btrieve не может создать дополнительный индекс по какой-либо причине, он вернет ненулевой статус показывающий причину и отбросит часть дополнительного индекса, которая уже построена. Страницы файла, размещенные в дополнительном индексе до ошибки будут помещены в список свободного пространства файла и будут повторно использованы, когда Вы добавляете записи или создаете другой дополнительный индекс. Наиболее часто встречающие ошибки: - 22 Буфер данных слишком мал - 27 Неверная позиция ключа - 28 Неверная длина записи - 41 Недопустимая операция - 45 Несуществующие флаги ключа - 49 Ошибка типа ключа - 56 Незавершенный индекс Если во время создания дополнительного индекса отключится питание или система перезагрузится, Вы сможете получить доступ к данным файла через другие индексы файла. Однако, Btrieve вернет ненулевой статус, если Вы попытаетесь получить доступ к данных через незавершенный индекс. В этом случае отбросьте незавершенный индекс с помощью операции Drop Supplemental Index (32) и запросите операцию Create Supplemental Index. Т е к у щ е е п о з и ц и о н и р о в а н и е : Операция Create Supplemental Index не оказывает эффекта на позиционирование.

          DELETE (4)
          (Удалить)

          Н а з н а ч е н и е  :

          Delete удаляет существующую запись из Btrieve-файла.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦    x    ¦            ¦  x   ¦     ¦  x
          Возвращаемые        ¦    x    ¦            ¦  x   ¦     ¦

          О п и с а н и е  :

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

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

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

            - Файл данных должен быть открыт.

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

          П р о ц е д у р а  :

          Для выполнения операции Delete установите следующие Btrieve-
          параметры:

            - Задайте код операции равный 4.

            - Передайте Btrieve блок позиции файла, из которого должна
              быть удалена запись.

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

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


          Р е з у л ь т а т  :

          Если операция Delete завершилась успешно, Btrieve:

            - Полностью удалит запись из файла;

            - Обновит все индексы ключей, чтобы отразить удаление;

            - Установит длину буфера данных равной длине удаленной записи.

          Если невозможно успешно удалить запись, Btrieve возвратит
          ненулевой код статуса.
          Наиболее часто встречающие ошибки:
            - 7 Другой номер ключа

            - 8 Неверное позиционирование

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          После операции Delete Btrieve удаляет всю существующую
          позиционную информацию и устанавливает позицию в файле
          следующим образом:

            - Если существует дубликат, СЛЕДУЮЩЕЙ записью становится
              первый дубликат, следующий за удаленной записью. Иначе,
              следующей записью становится первая запись со значением
              ключа большим, чем значение ключа удаленной записи.

            - Если существует дубликат, ПРЕДЫДУЩЕЙ записью становится
              предыдущий дубликат с этим значением ключа. Иначе,
              предыдующей записью становится последняя запись данных для
              предыдущего значения ключа.

          DROP SUPPLEMENTAL INDEX (32)
          (Отбросить дополнительный индекс)

          Н а з н а ч е н и е  :

          Операция Drop Supplemental Index удаляет дополнительный индекс
          из существующего Btrieve-файла.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦    x    ¦            ¦      ¦     ¦  x
          Возвращаемые        ¦         ¦            ¦      ¦     ¦

          О п и с а н и е  :

          Используйте операцию Drop Supplemental Index для удаления
          дополнительного индекса из файла.

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          До того, как Ваша прикладная программа запрсит операцию
          Drop Supplemental Index, должны быть выполнены следующие
          предварительные условия:

            - Файл должен быть открыт.

            - Дополнительный индекс должен существовать в файле.

            - Не должно быть активных транзакций

          П р о ц е д у р а  :

          Для отбрасывания дополнительного индекса установите следующие
          Btrieve-параметры:

            - Установите код операции равный 32.

            - Передайте блок позиции Btrieve-файла

            - Сохраните номер ключа для дополнительного индекса, который
              Вы хотите отбросить, в параметре номера ключа.

          Р е з у л ь т а т  :

          Если операция Drop Supplemental Index завершилась успешно,
          Btrieve:

            - Поместит страницы файла, размещенные для этого индекса, в
              список свободного пространства для дальнейшего использования;

            - Декриментируйте (уменьшите на один) номера ключей всех
              других дополнительных индексов с номерами ключей старшими,
              чем отбрасываемый индекс.

          Если операция не была успешной, Btrieve возвратит ненулевой код
          статуса в Вашу прикладную программу. Наиболее часто встречающиеся
          ненулевые коды статуса для этой операции:

            -  6 Неверный номер ключа

            - 41 Недопустимая операция

          Если процесс прерван во время отбрасывания индекса. Вы можете
          получить доступ к данным файла через другие индексы файла.
          Btrieve возвратит код статуса 56 (Незавершенный индекс), если Вы
          попытаетесь получить доступ к файлу через незавершенный индекс. В
          этом случае запросите вновь операцию Drop Supplemental Index.

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          Операция Drop Supplemental Index не оказывает эффект на
          позиционирование.

          END TRANSACTION (20)
          (Конец транзакции)

          Н а з н а ч е н и е  :

          End Transaction завершает транзакцию и делает соответствующие
          изменения в файлах данных.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦         ¦            ¦      ¦     ¦
          Возвращаемые        ¦         ¦            ¦      ¦     ¦

          О п и с а н и е  :

          End Transaction отмечает завершение набора логически связанных
          Btrieve-операций.

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          До того, как Ваша прикладная программа запрсит операцию
          End Transaction, она должна выполнить успешно операцию Begin
          Transaction (19).

          П р о ц е д у р а  :

          Для выполнения операции End Transaction установите код операции
          равный 20. Btrieve проигнорирует все другие параметры вызова
          End Transaction.

          Р е з у л ь т а т  :

          Если операция End Transaction завершилась успешно, все операции
          ограниченные этой транзакцией будут записаны в Вашу базу данных.
          Ваша прикладная программа не может отменить транзакцию после
          операции End Transaction.

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

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :
          Операция End Transaction не оказывает эффект на позиционирование.


          EXTEND (16)
          (Расширить)

          Н а з н а ч е н и е  :

          Extend разделяет файл на два логических устройства.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦    x    ¦            ¦      ¦  x  ¦  x
          Возвращаемые        ¦    x    ¦            ¦      ¦     ¦

          О п и с а н и е  :

          Операция Extend позволяет Вашей прикладной программе
          распространять один Btrieve-файл на второе логическое устройство.

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

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

            - Файл должен быть открыт.

            - Btrieve должен иметь доступ к тому, на который будет расширен
              файл.

            - Не должно быть активных транзакций.

          П р о ц е д у р а  :

          Для выполнения операции Extend установите следующие Btrueve-
          параметры:

            - Установите код операции равный 16.

            - Передайте блок позиции для расширяемого файла.

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

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

              содержащее первоначальный файл не заполнится.

          Р е з у л ь т а т  :

          Если операция Extend завершилась успешно, Btrieve распространит
          файл на два логических тома. Для получения доступа к расширенному
          файлу пользуйтесь следующим руководством:

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

            - Как первоначальное устройство так и устройство расширения
              должны бвть в "online", когда Ваша программа получает доступ
              к расширенному файлу. Btrieve должен быть способен найти
              расширенный файл на заданном Вами логическом устройстве.

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

          Если операция не была успешной, Btrieve возвратит ненулевой
          статус. Наиболее часто встречающиеся ошибки, возвращаемые
          операцией Extend:

            - 31 Файл уже расширен

            - 32 Ошиббка ввода/выода при расширении

            - 34 Невернре имя расширения

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          Операция Extend не оказывает эффект на позиционирование.

          GET DIRECT (23)
          (Получить направление)

          Н а з н а ч е н и е  :

          Get Direct ищет запись данных, расположенную по заданному
          физическому адресу в Btrieve-файле.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦    x    ¦      x     ¦   x  ¦     ¦  x
          Возвращаемые        ¦    x    ¦      x     ¦   x  ¦  x  ¦

          О п и с а н и е  :

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

            - Вы можете искать запись быстрее, используя физическое
              расположение вместо значения ключа.

            - Вы можете использовать операцию Get Direct для поиска
              4-байтового расположения записи, сохранить расположение и
              затем позже использовать Get Direct для возврата
              непосредственно в это место.

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

            - Вы можете изменить текущий путь доступа. Операция
              Get Position, следуемая за операцией Get Direct с другим
              номером ключа, устанавливает позиционирование для текущей
              записи в другом индексном дереве. Get Next возвратит
              следующую запись в файле, опираясь на новый путь доступа.

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          До того, как Ваша прикладная программа запрсит операцию
          Get Direct, должны быть выполнены следующие предварительные
          условия:

            - Файл должен быть открыт.


            - Ваша прикладная программа должна предварительно найти
              4-байтовое расположение записи, запросив операцию
              Get Position.

          П р о ц е д у р а  :

          Для выполнения операции Get Direct установите следующие Btrueve-
          параметры:

            - Установите код операции равный 23.

            - Сохраните 4-байтовую позицию требуемой записи в первых
              четырех байтах буфера данных.

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

            - Задайте путь доступа, для которого должен установить
              позиционирование Btrieve, в параметре номера ключа.

          Р е з у л ь т а т  :

          Если операция Get Direct завершилась успешно, Btrieve

            - Сохранит требуемую запись в буфере данных, переписав
              4-байтовую точку входа в первых четырех байтах.

            - Сохранит актуальную длину записи в параметре длины буфера
              данных;

            - Сохраните значение ключа для заданного ключа доступа в
              буфере ключа.

          Если Btrieve не может возвратить требуемую запись, он вернет
          ненулевой статус. Наиболее часто встречающиеся ненулевые коды
          статуса:

            - 22 Буфер данных слишком мал

            - 43 Неверный адрес записи данных

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          После операции Get Direct Btrieve удаляет всю существующую
          позиционную информацию и устанавливает текущую позицию согласно
          заданному номеру ключа.

            - СЛЕДУЮЩАЯ запись становится следующим дубликатом
              возвращаемого значения ключа. Иначе, она становится первой
              записью для значения ключа большего, чем требуемое.


            - ПРЕДЫДУЩАЯ запись становится или предыдущим дубликатом для
              возвращаемого ключа или последним дубликатом значения ключа
              меньшего, чем возвращаемое.

          GET DIRECTORY (18)
          (Получить директорию)

          Н а з н а ч е н и е  :

          Get Directory ищет текущую директорию.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦         ¦            ¦      ¦     ¦  x
          Возвращаемые        ¦         ¦            ¦      ¦  x  ¦

          О п и с а н и е  :

          Операция Get Directory возвращает текущую директорию для
          заданного логического устройства.

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          До того, как Ваша прикладная программа сможет запрсить операцию
          Get Directory непосредственно после загрузки Record Manager.
          Буфер ключа должен быть по крайней мере длиной в 65 символов.

          П р о ц е д у р а  :

          Для поиска текущей директории установите следующие Btrueve-
          параметры:

            - Установите код операции равный 18.

            - Сохраните номер логического устройства в параметре номера
              ключа до вызова Btrieve. Задайте устройство A как 1, 2 для B
              и т.д. Для использования устройства по умолчанию задайте 0.

          Р е з у л ь т а т  :

          Btrieve возвратит текущую директорию, завершенную двоичным нулем
          в буфере ключа.

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          Операция Get Directory  не оказывает эффект на позиционирование.

          GET EQUAL (5)
          (Получить равную)

          Н а з н а ч е н и е  :

          Get Equal ищет запись, соответствующую заданному значению ключа.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦    x    ¦            ¦   x  ¦  x  ¦  x
          Возвращаемые        ¦    x    ¦     x      ¦   x  ¦     ¦

          О п и с а н и е  :

          Используя операцию Get Equal, Ваша прикладная программа может
          искать запись, опираясь на значение ключа заданное в буфере
          ключа.

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          До того, как Ваша прикладная программа сможет запрсить операцию
          Get Equal должны быть выполнены следующие предварительные
          условия:

            - Файл должен быть открыт.

            - Файл не может быть файлом, состоящим только из данных без
              определенных индексов.

          П р о ц е д у р а  :

          Для выполнения операции установите следующие Btrueve-параметры:

            - Проинициализируйте код операции значением 5.

            - Передайте блок позиции для файла.

            - Задайте требуемое значение ключа в буфере ключа.

            - Установите номер ключа в правильный путь доступа.

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

          Р е з у л ь т а т  :


          Если операция Get Equal завершилась успешно, Btrieve

            - Вернет требуемую запись в буфер данных.

            - Вернет длину записи в байтах в параметр длины буфера данных.

          Если операция Get Equal не была успешной,Btrieve вернет ненулевой
          код статуса указывающий на причину. Наиболее часто встречающиеся
          ненулевые коды статуса:

            -  3 Файл не открыт

            -  4 Не найдено значение ключа

            - 22 Буфер данных слишком мал

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          После операции Get Equal Btrieve удаляет всю существующую
          позиционную информацию и устанавливает свою позицию в индексе
          следующим образом:

            - Если дубликат существует, СЛЕДУЮЩАЯ запись становится первым
              дубликатом возвращаемого значения ключа. Иначе, следующая
              запись становится первой записью для значения ключа большего,
              чем требуемое.

            - ПРЕДЫДУЩАЯ запись становится последним дубликатом значения
              ключа меньшего, чем возвращаемое. Если не существует
              дубликатов, предыдущая запись становится единственной записью
              для значения ключа меньшего, чем возвращаемое.

          GET FIRST (12)
          (Получить первую)

          Н а з н а ч е н и е  :

          Get First ищет запись, соответствующую первому значению ключа для
          заданного пути доступа.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦    x    ¦            ¦   x  ¦     ¦  x
          Возвращаемые        ¦    x    ¦     x      ¦   x  ¦  x  ¦

          О п и с а н и е  :

          Операция Get First позволяет Вашей прикладной программе искать
          запись, соответствующую первому значению ключа для заданного
          номера ключа.

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          До того, как Ваша прикладная программа сможет запрсить операцию
          Get First должны быть выполнены следующие предварительные
          условия:

            - Файл должен быть открыт.

            - Файл не может быть файлом, состоящим только из данных без
              определенных индексов.

          П р о ц е д у р а  :

          Для выполнения операции установите следующие Btrueve-параметры:

            - Проинициализируйте код операции значением 12.

            - Передайте блок позиции для файла.

            - Задайте номер ключа для данного пути доступа.

            - Задайте длину буфера данных.

          Р е з у л ь т а т  :

          Если операция Get First завершилась успешно, Btrieve


            - Вернет требуемую запись в буфер данных.

            - Сохранит соответствующее значение ключа в буфере данных;

            - Вернет длину записи в параметр длины буфера данных.

          Если операция Get First не была успешной, Btrieve вернет
          ненулевой код статуса указывающий на причину. Наиболее часто
          встречающиеся ненулевые коды статуса:

            -  3 Файл не открыт

            -  6 Неверный номер ключа

            - 22 Буфер данных слишком мал

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          После операции Get First Btrieve удаляет всю существующую
          позиционную информацию и устанавливает свою позицию в индексе
          следующим образом:

            - ПРЕДЫДУЩАЯ запись указывает за начало файла.

            - СЛЕДУЮЩАЯ запись становится следующим дубликатом
              возвращаемого значения ключа или, если не существует
              дубликатов, первой записью для значения ключа большего, чем
              возвращаемое.

          GET GREATER (8)
          (Получить большую)

          Н а з н а ч е н и е  :

          Get Greater ищет запись, соответствующую значению ключа большего
          чем заданное значение ключа.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦    x    ¦            ¦   x  ¦  x  ¦  x
          Возвращаемые        ¦    x    ¦     x      ¦   x  ¦  x  ¦

          О п и с а н и е  :

          Используя операцию Get Greater Ваша прикладная программа может
          поднять путь доступа, задавая номер ключа для нахождения первого
          значения ключа большего, чем задано в буфере ключа.

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          До того, как Ваша прикладная программа запросит операцию
          Get Greater, должны быть выполнены следующие предварительные
          условия:

            - Файл должен быть открыт.

            - Файл не может быть файлом, состоящим только из данных.

          П р о ц е д у р а  :

          Для выполнения операции Get Greater установите следующие
          Btrieve-параметры:

            - Установите код операции равный 8.

            - Передайте блок позиции для файла.

            - Сохраните значение ключа в параметре буфера ключа.

            - Установите параметр номера ключа в соответствии с правильным
              путем доступа.

            - Задайте длину буфера данных.

Р е з у л ь т а т :

Если операция завершилась успешно, Btrieve

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

            -  3 Файл не открыт

            -  6 Неверный номер ключа

            - 22 Буфер данных слишком мал

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          После операции Get Greater Btrieve удаляет всю существующую
          позиционную информацию и устанавливает свою позицию в индексе
          следующим образом:

            - Если дубликат существует, СЛЕДУЮЩАЯ запись становится
              первым дубликатом возвращаемого значения. Иначе, следующая
              запись становится первой записью для значения ключа большего,
              чем возвращаемое.
  • ПРЕДЫДУЩАЯ запись становится последним дубликатом значения ключа меньшего возвращаемого. Иначе, предыдущая запись становится единственной записью для значения ключа меньшего, чем возвращаемое.

          GET GREATER OR EQUAL (9)
          (Получить большую или равную)

          Н а з н а ч е н и е  :

          Get Greater Or Equal ищет запись со значением ключа большим или
          равным заданному значению ключа.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦    x    ¦            ¦   x  ¦  x  ¦  x
          Возвращаемые        ¦    x    ¦     x      ¦   x  ¦  x  ¦

          О п и с а н и е  :

          Операция Get Greater Or Equal позволяет Вашей прикладной
          программе находить запись или равную или большую чем заданное
          значение ключа. Btrieve сперва ищет значение ключа равное
          заданному значению. Если Btrieve не может найти равное значение
          ключа, он поднимает путь доступа до тех пор. пока он не найдет
          запись со следующим старшим значением ключа.

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          До того, как Ваша прикладная программа запросит операцию
          Get Greater Or Equal, должны быть выполнены следующие
          предварительные условия:

            - Файл должен быть открыт.

            - Файл не может быть файлом, состоящим только из данных.

          П р о ц е д у р а  :

          Для выполнения операции Get Greater Or Equal установите следующие
          Btrieve-параметры:

            - Установите код операции равный 9.

            - Передайте блок позиции для файла.

            - Сохраните значение ключа в параметре буфера ключа.

            - Установите параметр номера ключа в соответствии с правильным
              путем доступа.


            - Задайте длину буфера данных.

          Р е з у л ь т а т  :

          Если операция завершилась успешно, Btrieve

            - Вернет соответствующую запись в буфер данных.

            - Вернет длину записи в параметр длины буфера данных.

          Если операция не была успешной, Btrieve вернет ненулевой код
          статуса, указывающий на причину. Наиболее часто встречающиеся
          ненулевые коды статуса:

            -  3 Файл не открыт

            -  6 Неверный номер ключа

            - 22 Буфер данных слишком мал

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          После операции Get Greater Or Equal Btrieve удаляет всю
          существующую позиционную информацию и устанавливает текущую
          позицию следующим образом:

            - СЛЕДУЮЩАЯ запись становится первым дубликатом возвращаемого
              значения ключа, если дубликат существует. Иначе, он
              становится первой записью для значения ключа большего,
              чем возвращаемое.

            - ПРЕДЫДУЩАЯ запись становится последним дубликатом значения
              ключа меньшего возвращаемого, или, если дубликат не
              существует, единственной записью для значения ключа меньшего,
              чем возвращаемое.

          GET KEY (+50)
          (Получить ключ)

          Н а з н а ч е н и е  :

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

            - GET EQUAL (5)

            - GET NEXT (6)

            - GET PREVIOUS (7)

            - GET GREATER (8)

            - GET GREATER OR EQUAL (9)

            - GET LESS THAN (10)

            - GET LESS THAN OR EQUAL (11)

            - GET FIRST (12)

            - GET LAST (13)

          П р и м е н е н и е   п а р а м е т р о в  :

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

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          Предварительные условия для операции Get Key - те же самые, что
          и в соответствующей Get операции.

          П р о ц е д у р а  :

          Для выполнения операции Get Key установите Btrieve-параметры так
          как бы Вы установили их для соответствующей Get операции. Вам не
          требуется инициализировать длину буфера данных.

          Вы должны добавить 50 к коду операции Get, которую Вы хотите
          выполнить. Например, для выполнения операции Get Key (код
          операции 50) с операцией Get Equal (код операции 5) используйте
          55 для кода операции.


          Если Btrieve найдет требуемый ключ, он возвратит ключ в буфер
          ключа и статус равный 0. Иначе, Btrieve возвратит ненулевой код
          статуса, показывающий почему он не может найти ключ.

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          Операция Get Key устанавливает текущее позиционирование точно в
          соответствии с тем, что делает соответствующая Get операция, за
          исключением того, что Get Next Key и Get Previous Key не
          возвращает дубликаты.

          GET LAST (13)
          (Получить последнюю)

          Н а з н а ч е н и е  :

          Get Last ищет запись, сооответствующую значению последнего ключа
          для заданного пути доступа.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦    x    ¦            ¦   x  ¦     ¦  x
          Возвращаемые        ¦    x    ¦     x      ¦   x  ¦  x  ¦

          О п и с а н и е  :

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

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          До того, как Ваша прикладная программа запросит операцию
          Get Last, должны быть выполнены следующие предварительные
          условия:

            - Файл должен быть открыт.

            - Файл не может быть файлом, состоящим только из данных без
              заданных индексов.

          П р о ц е д у р а  :

          Для выполнения этой операции установите следующие Btrieve-
          параметры:

            - Проинициализируйте код операции значением 13.

            - Передайте блок позиции для файла.

            - Задайте длину буфера данных.

            - Задайте номер ключа для пути доступа.

Р е з у л ь т а т :

Если операция завершилась успешно, Btrieve

  • Вернет требуемую запись в буфер данных.
  • Сохранит значение соответствующего ключа в буфере ключа;
  • Возвратит длину записи в параметре длины буфера данных.
          Если Btrieve не может вернуть запись, он возвратит ненулевой код
          статуса, указывающий на причину. Наиболее часто встречающиеся
          ненулевые коды статуса:

            -  3 Файл не открыт

            -  6 Неверный номер ключа

            - 22 Буфер данных слишком мал

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          После операции Get Last Btrieve удаляет всю существующую
          позиционную информацию и устанавливает текущую позицию в индексе
          следующим образом:

            - СЛЕДУЮЩАЯ запись указывает за конец файла.

            - ПРЕДЫДУЩАЯ запись становится предыдущим дубликатом
              возвращаемого значения ключа или, если дубликат не
              существует, последним дубликатом для значения ключа меньшего,
              чем возвращаемое.

          GET LESS THAN (10)
          (Получить меньшую чем)

          Н а з н а ч е н и е  :

          Get Less Than ищет запись, сооответствующую значению ключа,
          которое сеньше заданного значения ключа.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦    x    ¦            ¦   x  ¦  x  ¦  x
          Возвращаемые        ¦    x    ¦     x      ¦   x  ¦  x  ¦

          О п и с а н и е  :

          Используя операцию Get Less Than Ваша прикладная программа может
          находить запись, которая соответствует первому значению ключа
          меньшему чем заданное значение ключа. Btrieve поднимает путь
          доступа, заданный номером ключа для нахождения первого значения
          ключа меньшего требуемого. Как только он найдет правильное
          значение ключа, он возвратит соответствующую запись данных в
          буфер данных.

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          До того, как Ваша прикладная программа запросит операцию
          Get Less Tnan, должны быть выполнены следующие предварительные
          условия:

            - Файл должен быть открыт.

            - Файл не может быть файлом, состоящим только из данных без
              заданных индексов.

          П р о ц е д у р а  :

          Для выполнения операции Get Less Than установите следующие
          Btrieve-параметры:

            - Установите код операции в 10.

            - Передайте блок позиции для файла.

            - Сохраните значение ключа в параметре буфера ключа.

            - Установите параметр номера ключа в соответствии с правильным

              путем доступа.

            - Задайте длину буфера данных.

          Р е з у л ь т а т  :

          Если операция завершилась успешно, Btrieve

            - Вернет запись в буфер данных.

            - Вернет значение ключа для этой записи в буфер ключа;

            - Возвратит длину записи в параметре длины буфера данных.

          Если Btrieve не может вернуть запись, он возвратит ненулевой код
          статуса, указывающий на причину. Наиболее часто встречающиеся
          ненулевые коды статуса:

            -  3 Файл не открыт

            -  6 Неверный номер ключа

            - 22 Буфер данных слишком мал

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          После операции Get Less Than Btrieve удаляет всю существующую
          позиционную информацию и устанавливает текущую позицию в индексе
          следующим образом:

            - Если дубликат существует, СЛЕДУЮЩАЯ запись становится
              первым дубликатом возвращаемого значения. Иначе, следующая
              запись становится первой записью для значения ключа большего,
              чем возвращаемое.

            - Если дубликат существует, ПРЕДЫДУЩАЯ запись становится
              последним дубликатом значения ключа меньшего возвращаемого.
              Иначе, предыдущая запись становится единственной записью для
              значения ключа меньшего, чем возвращаемое.

          GET LESS THAN OR EQUAL (11)
          (Получить меньшую или равную)

          Н а з н а ч е н и е  :

          Get Less Than Or Equal ищет запись со значением ключа меньшим или
          равным заданному значению ключа.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦    x    ¦            ¦   x  ¦  x  ¦  x
          Возвращаемые        ¦    x    ¦     x      ¦   x  ¦  x  ¦

          О п и с а н и е  :

          Используя операцию Get Less Than Or Equal Ваша прикладная
          программа может находить запись, которая равна или меньше
          заданному значению ключа. Btrieve сперва ищет в пути доступа для
          заданного значения ключа. Если он не находит значение, то
          поднимает путь доступа, заданный номером ключа для нахождения
          первого значения ключа меньшего требуемого. Как только он найдет
          правильное значение ключа, он возвратит соответствующую запись
          данных в буфер данных.

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          До того, как Ваша прикладная программа запросит операцию
          Get Less Tnan Or Equal, должны быть выполнены следующие
          предварительные условия:

            - Файл должен быть открыт.

            - Файл не может быть файлом, состоящим только из данных без
              заданных индексов.

          П р о ц е д у р а  :

          Для выполнения операции Get Less Than Or Equal установите
          следующие Btrieve-параметры:

            - Установите код операции в 11.

            - Передайте блок позиции для файла.

            - Сохраните значение ключа в параметре буфера ключа.


            - Установите параметр номера ключа в соответствии с правильным
              путем доступа.

            - Задайте длину буфера данных.

          Р е з у л ь т а т  :

          Если операция завершилась успешно, Btrieve

            - Вернет запись в буфер данных.

            - Вернет значение ключа для этой записи в буфер ключа;

            - Возвратит длину записи в параметре длины буфера данных.

          Если Btrieve не может вернуть запись, он возвратит ненулевой код
          статуса, указывающий на причину. Наиболее часто встречающиеся
          ненулевые коды статуса:

            -  3 Файл не открыт

            -  6 Неверный номер ключа

            - 22 Буфер данных слишком мал

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          После операции Get Less Than Or Equal Btrieve удаляет всю
          существующую позиционную информацию и устанавливает текущую
          позицию в индексе следующим образом:

            - Если дубликат существует, СЛЕДУЮЩАЯ запись становится
              первым дубликатом возвращаемого значения. Иначе, следующая
              запись становится первой записью для значения ключа большего,
              чем возвращаемое.

            - Если дубликат существует, ПРЕДЫДУЩАЯ запись становится
              последним дубликатом значения ключа меньшего возвращаемого.
              Иначе, предыдущая запись становится единственной записью для
              значения ключа меньшего, чем возвращаемое.

          GET NEXT (6)
          (Получить следующую)

          Н а з н а ч е н и е  :

          Get Next ищет запись из Btrieve-файла, следующую за текущей
          записью в пути ключей.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦    x    ¦            ¦   x  ¦  x  ¦  x
          Возвращаемые        ¦    x    ¦     x      ¦   x  ¦  x  ¦

          О п и с а н и е  :

          Используя операцию Get Next Ваша прикладная программа может
          находить записи в порядке согласно заданному пути доступа. Только
          операции Get First, Get Next, Get Previous и Get Last позволяют
          прикладной программе искать записи для значений ключей-дубликатов

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          До того, как Ваша прикладная программа запросит операцию
          Get Next, должны быть выполнены следующие предварительные условия:

            - Файл должен быть открыт.

            - Файл не может быть файлом, состоящим только из данных без
              заданных индексов.

            - Ваша прикладная программа должна установить позицию в индексе
              при Btrieve-вызове немедленно перед операцией Get Next.

          П р о ц е д у р а  :

          Для выполнения операции Get Next установите следующие Btrieve-
          параметры:

            - Установите код операции в 6.

            - Передайте блок позиции для файла.

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

              для определения текущей позиции в файле.

            - Установите параметр номера ключа в соответствии с путем
              доступа, используемым при предыдущем обращении. Вы не можете
              изменять пути доступа, используя операцию Get Next.

            - Задайте длину буфера данных.

          Р е з у л ь т а т  :

          Если операция завершилась успешно, Btrieve

            - Вернет запись в буфер данных.

            - Вернет значение ключа для этой записи в буфер ключа;

            - Возвратит длину записи в параметре длины буфера данных.

          Если Btrieve не может вернуть запись, он возвратит ненулевой код
          статуса, указывающий на причину. Наиболее часто встречающиеся
          ненулевые коды статуса:

            -  3 Файл не открыт

            -  6 Неверный номер ключа

            -  7 Другой номер ключа

            -  9 Конец файла

            - 22 Буфер данных слишком мал

            - 82 Потеря позиции

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          Btrieve использует позиционирование, установленное предыдущим
          вызовом, для выполнения операции Get Next, заменяя позиционную
          информацию следующим образом:

            - Если дубликат существует, СЛЕДУЮЩАЯ запись становится
              первым дубликатом возвращаемого значения. Иначе, следующая
              запись становится первой записью для значения ключа большего,
              чем возвращаемое.

            - Если дубликат существует, ПРЕДЫДУЩАЯ запись становится
              последним дубликатом значения ключа меньшего возвращаемого.
              Иначе, предыдущая запись становится единственной записью для
              значения ключа меньшего, чем возвращаемое.

          GET POSITION (22)
          (Получить позицию)

          Н а з н а ч е н и е  :

          Get Position возвращает физическую позицию текущей записи.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦    x    ¦            ¦   x  ¦     ¦
          Возвращаемые        ¦    x    ¦      x     ¦   x  ¦     ¦

          О п и с а н и е  :

          Используя операцию Get Position Ваша прикладная программа
          может получить 4-байтовую позицию текущей записи в Btrieve-
          файле. Для того, чтобы установить текущую запись Ваша прикладная
          программа может выполнить любую другую Get операцию, операцию
          Insert или операцию Update. Ваша прикладная программа может
          затем запросить операцию Get Position для поиска адреса записи.
          Как только Ваша прикладная программа узнает адрес записи, она
          может использовать операцию Get Direct для поиска этой записи
          непосредственно по физическому расположению в файле.

          Btrieve не выполняет какой либо ввод/вывод на диск при запросе
          Get Direct.

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          До того, как Ваша прикладная программа запрсит операцию
          Get Position, должны быть выполнены следующие предварительные
          условия:

            - Файл должен быть открыт.

            - Btrieve-обращение к файлу непосредственно до вызова Get
              Position должно найти запись. Вы не можете запросить вызов,
              используя тот же самый блок позиции, между поиском записи и
              вызовом Get Position.

          П р о ц е д у р а  :

          Для выполнения операции Get Position установите следующие
          Btrueve-параметры:

            - Установите код операции равный 22.

            - Передайте блок позиции для файла.

            - Используйте буфер данных достаточно длинный для хранения
              4-байтовой позиции.

            - Установите длину буфера данных равную по крайней мере
              четырем байтам.

          Р е з у л ь т а т  :

          Если операция Get завершилась успешно, Btrieve

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

            - Установит длину буфера данных равную четырем байтам.

          Если Btrieve не может определить текущую запись или не может
          возвратить позицию, он вернет ненулевой код статуса указывающий
          на причину. Наиболее часто встречающийся ненулевой статус,
          возвращаемый Btrieve, - код статуса 8 (Неверное
          позиционирование).

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          Операция Get Position не оказывает эффект на позиционирование.

          GET PREVIOUS (7)
          (Получить предыдующую)

          Н а з н а ч е н и е  :

          Get Previous ищет запись, предшествующую текущей записи в пути
          ключей.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦    x    ¦            ¦   x  ¦  x  ¦  x
          Возвращаемые        ¦    x    ¦     x      ¦   x  ¦  x  ¦

          О п и с а н и е  :

          Используя операцию Get Previous Ваша прикладная программа может
          находить записи в порядке согласно заданному пути доступа. Только
          операции Get First, Get Next, Get Previous и Get Last позволяют
          прикладной программе искать записи для значений ключей-дубликатов

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          До того, как Ваша прикладная программа запросит операцию
          Get Previous, должны быть выполнены следующие предварительные
          условия:

            - Файл должен быть открыт.

            - Btrieve-обращение к файлу непосредственно до вызова Get
              Previous должно найти запись. Вы не можете запросить вызов,
              используя тот же самый блок позиции, между поиском записи и
              вызовом Get Previous.

          П р о ц е д у р а  :

          Для выполнения операции Get Previous установите следующие
          Btrieve-параметры:

            - Установите код операции в 7.

            - Передайте блок позиции для файла.

            - Задайте правильный номер ключа.

            - Задайте длину буфера данных.


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

          Р е з у л ь т а т  :

          Если операция завершилась успешно, Btrieve

            - Заменит буфер ключа значением ключа для новой записи;

            - Возвратит предыдущую запись в буфер данных;

            - Возвратит длину записи в параметре длины буфера данных.

          Если операция не была успешной, Btrieve возвратит ненулевой код
          статуса, указывающий на причину. Наиболее часто встречающиеся
          ненулевые коды статуса:

            -  3 Файл не открыт

            -  9 Конец файла

            - 22 Буфер данных слишком мал

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          Btrieve использует позиционирование, установленное предыдущим
          вызовом, для выполнения операции Get Previous следующим образом:

            - Запись, которая была текущей при инициации вызова, становится
              СЛЕДУЮЩЕЙ записью.

            - Если дубликат существует, ПРЕДЫДУЩАЯ запись становится
              последним дубликатом значения ключа меньшего возвращаемого.
              Иначе, предыдущая запись становится единственной записью для
              значения ключа меньшего, чем возвращаемое.

          INSERT (4)
          (Добавить)

          Н а з н а ч е н и е  :

          Операция Insert добавляет запись в файл.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦    x    ¦      x     ¦  x   ¦     ¦  x
          Возвращаемые        ¦    x    ¦            ¦      ¦  x  ¦

          О п и с а н и е  :

          Ваша прикладная программа может использовать операцию Insert для
          добавления новой записи в файл. Btrieve обновляет все индексы
          ключей для отражения значений ключей новой записи во время
          добавления записи.

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

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

            - Файл данных должен быть открыт.

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

          П р о ц е д у р а  :

          Для выполнения операции Insert установите следующие Btrieve-
          параметры:

            - Задайте код операции равный 2.

            - Сохраните новую запись данных в буфере данных.

            - Задайте длину буфера данных. Это значение должно быть по
              крайней мере равно длине фиксированной части записи.

            - Задайте номер ключа, для которого Вы хотите, чтобы Btrieve
              сохранял позицию.

          Р е з у л ь т а т  :

          Если операция Insert завершилась успешно, Btrieve:

            - Поместит новую запись в файл;

            - Обновит всю индексную информацию, чтобы отразить добавление
              новой записи;

            - Возвратит значение ключа для текущего пути доступа.

          Если операция Insert не была успешной , Btrieve возвратит
          ненулевой код статуса. Наиболее часто встречающие ошибки:

            -  2 ошибка ввода/вывода

            -  3 Файл не открыт

            -  5 Ошибка дубликатов

            - 14 Ошибка открытия прообраза

            - 15 Ошика ввода/вывода прообраза

            - 18 Диск полный

            - 21 Буфер ключа слишком мал

            - 22 Буфер данных слишком мал

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          Операция Insert удаляет всю существующую позиционную информацию.
          Опираясь на заданный Вами номер ключа Btrieve устанавливает свою
          позицию в индексе следующим образом:

            - Первая запись данных со значением ключа большим только что
              добавленного становится СЛЕДУЮЩЕЙ записью.

            - Последняя запись данных со значением ключа меньшим только что
              добавленного становится ПРЕДЫДУЩЕЙ записью.


LOCKS

(Блокировки) Н а з н а ч е н и е : Блокировки позволяют Вам управлять доступом к записям и файлам, предохраняя рабочую станцию от выполнения конфликтных операций над базой данных. П а р а м е т р ы : За исключением кода операции параметры для блокировок - те же самые как и в соответствующей операции записи. О п и с а н и е : Btrieve различает два различных вида блокировок записей: единичные блокировки и множественные блокировки. Вы можете задать вид блокировки с ожиданием или без ожидания как для единичных блокировок, так и для множественных блокировок записей. Вы можете задать блокировку с любой операцией Get, Stop, Open или Begin Transaction. Добавляя смещение блокировки к операции Begin Transaction задавайте, хотите ли Вы транзакцию с ожиданием или без ожидания. Это не приведет Btrieve к использованию блокировок записей в течении транзакции. ЕДИНИЧНЫЕ БЛОКИРОВКИ ЗАПИСЕЙ. Когда рабочая станция использует единичные блокировки записей, она может звблокировать только одну запись в файле в какой-либо момент времени. Btrieve отменяет единичную блокировку записи, когда Btrieve запрашивает другую Get операцию с блокировкой для того же самого файла, корректирует или удалеет заблокированную запись, или запрашивает операцию Unlock. МНОЖЕСТВЕННЫЕ БЛОКИРОВКИ ЗАПИСЕЙ. Множественные блокировки записей позволяют прикладной программе блокировать множественные записи в файле и затем корректировать или удалять эти записи по необходимости. Когда Вы используете множественные блокировки записей, Btrieve также блокирует только одну запись для каждой Get операции. Однако, он НЕ отменяет блокировку записи, когда Вы корректируете заблокированную запись или запрашивает другую Get операцию с множественной блокировкой. Ваша прикладная программа может отменить одну или все множественные блокировки записей используя операцию Unlock. БЛОКИРОВКИ С ОЖИДАНИЕМ. Если другая рабочая станция имеет заблокированную запись или имеет прерванную транзакцию для файла, когда Вы запрашиваете блокировку с опцией ожидания, Btrieve будет ждать до тех пор, пока запись не станет доступной, до того, как вернуть управление в прикладную программу. БЛОКИРОВКИ БЕЗ ОЖИДАНИЯ. Если другая рабочая станция имеет заблокированную запись или имеет прерванную транзакцию для файла, когда Вы запрашиваете блокировку с опцией без ожидания, Btrieve немедленно возвратит статус 84 или 85 в прикладную программу, показывающий что запись - занята. П р е д в а р и т е л ь н ы е у с л о в и я : За исключением кода операции требуемые для операции блокировки параметры идентичны требуемымв соответствующей операцией без блокировки. П р о ц е д у р а : Для задания блокировки записи Ваша прикладная программа прибавляет значение (называемое "смещение блокировки") к любому коду операции Get, Step,, Open или Begin Transaction. Следующая таблица иллюстрирует значения смещений блокировки: Значение Тип блокировки +100 единичная блокировка записи с ожиданием +200 единичная блокировка записи без ожидания +300 множественная блокировка записи с ожиданием +400 множественная блокировка записи без ожидания Используйте значения смещений блокировки следующим образом: - ДЛЯ ЗАДАНИЯ ЕДИНИЧНОЙ БЛОКИРОВКИ ЗАПИСИ прибавьте 100 (с ожиданием) или 200 (без ожидания) к коду операции. - ДЛЯ ЗАДАНИЯ МНОЖЕСТВЕННОЙ БЛОКИРОВКИ ЗАПИСИ прибавьте 300 (с ожиданием) или 400 (без ожидания) к коду операции. Например, для запроса Get Equal с единичной блокировкой записи с ожиданием код операции будет (100 + 5) или 105. Для той же самой операции со множественной блокировкой записи с ожиданием код операции будет (300 + 5) или 305. Для запроса Get Last с единичной блокировкой записи без ожидания код операции будет (13 + 200) или 213. Для той же самой операции со множественной блокировкой записи без ожидания код операции будет (13 + 400) или 413.
          Для задания транзакции с ожиданием установите код операции в 119
          или 319. В этом случае код блокировки задает, что Вы хотите,
          чтобы Btrieve ждал  файл или запись, если они заняты другой
          рабочей станцией. Задание 319 для операции Begin Transaction -
          эквивалентно заданию или 19 или 119. См. описание управления
          транзакциями в Главе 2 для дополнительной информации.


          Вы можете также запросить Begin transaction без ожидания с кодом
          операции 219 или 419. В этом случае Btrieve возвратит статус 84
          или 85, если Ваша прикладная программа попытается получить доступ
          к заблокированной записи или файлу с транзакцией. См. описание                              выполнения операции Get Key установите Btrieve-параметры так
          управления транзакциями в Главе 2 для дополнительной информации.

          ОТКРЫТИЕ ЗАБЛОКИРОВАННЫХ ФАЙЛОВ. Если файл - заблокирован, когда
          рабочая станция пытается его открыть, Btrieve обычно ждет пока
          файл не станет доступен до выполнения операции Open. Это
          эквивалентно блокировке с ожиданием.

          Вы можете задать запрос открытия без ожидания, посылая или 200
          или 400 как код операции для операции Open (0 + 200 или 0 + 400)
          Если файл, который Вы пытаетесь открыть, заблокирован, Btrieve
          возвратит код статуса 85 (Файл занят) в прикладную прграмму. Вы
          можете попытаться затем повторить операцию, пока файл не станет
          доступен.

          ОТМЕНА МНОЖЕСТВЕННЫХ БЛОКИРОВОК ЗАПИСЕЙ. Как упоминалось раньше,
          Btrieve не отменяет автоматически множественную блокировку, как
          он делает в случае единичной блокировки. Записи, которые Вы
          блокируете множественной блокировкой записи, остаются
          заблокированы, пока Вы не сделаете следующее:

            - Отмените блокировку запросив Btrieve-операцию Unlock (27).

            - Удалите запись.

            - Запросите Btrieve-операцию Reset (28).

            - Закроете файл.

            - Получите доступ к файлу с транзакцией.

          Р е з у л ь т а т  :

          Вы не можете смешивать единичные и множественные блокировки в
          одном и том же файле с одной рабочей станции. Если единичная
          блокировка записи (+100/+200) не отменена, когда рабочая станция
          посылает запрос со множественной блокировкой (+300/+400), Btrieve
          возвратит ошибку несовместимости блокировок. Обратная ситуация
          приведет к той же самой ошиббке. В обоих случаях Btrieve не
          заблокирует запись. Это не значит, что рабочая станция ограничена
          только одним типом блокировки для файла. Btrieve будет возвращать
          ошибку, если только один тип блокировки ИСПОЛЬЗУЕТСЯ В НАСТОЯЩЕЕ
          ВРЕМЯ, когда рабочая станция пытается использовать блокировку
          другого типа.

          Если рабочая станция пытается разблокировать множественную
          блокировку записи, когда она не установлена в позицию этой
          записи, Btrieve возвратит статус ошибки блокировки.

          Вдобавок, Btrieve возвратит статус ошибки блокировки, если Ваша
          прикладная программа попытается заблокировать больше записей, чем
          Вы задали при конфигурации BSERVER. См. описание опций
          инициализации NetWare Btrieve в Главе 3 для дополнительной
          информации.

          Наиболее часто встречающиеся ненулевые коды статуса, возвращаемые
          Btrieve из безуспешных операций блокировки:

            - 81 Ошибка блокировки

            - 84 Запись занята

            - 85 Файл занят

            - 93 Несовместимый тип бблокировки

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          Операции запрета не оказывают действия на позицию Btrieve в
          индексе.

          OPEN (0)
          (Открыть)

          Н а з н а ч е н и е  :

          Операция Open делает файл доступным.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦         ¦      x     ¦  x   ¦  x  ¦  x
          Возвращаемые        ¦    x    ¦            ¦      ¦     ¦

          О п и с а н и е  :

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

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

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

            - Файл, который должен быть открыт, должен существовать на
              доступном устройстве. Если файл имеет расширение, оба
              устройства хранения, на которых расположен файл, должны быть
              доступны.
  • Управление файла должно быть доступно для файла.

П р о ц е д у р а :

          Для выполнения операции Open установите следующие Btrieve-
          параметры:

            - Установите код операции в 0.

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

            - Если файл имеет владельца, задайте имя владельца, завершенное
              двоичным 0, в ббуфере данных.


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

            - Задайте один из следующих режимов спецификаций в параметре
              номера ключа.

                Режим    Описание

                 -1      Ускоренный

                         В ускоренном режиме Ваша прикладная программа
                         может заблокировать способность автоматического
                         восстановления данных для того, чтобы увеличит
                         возможность корректировки. См. "Ускоренный доступ"
                         для более подробного описания этой опции. Btrieve
                         блокирует буфер в кэш-памяти для всех файлов,
                         открытых в режиме ускорения. Число файл, которые
                         Вы можете открыть одновременно в ускоренном
                         режиме, зависит от опций памяти и размера
                         страницы, заданных Вами при загрузке Btrieve.

                 -2      Только чтение

                         Этот режим позволяет Вашей прикладной программе
                         открыть поврежденный файл, который Btrieve не
                         может автоматически восстановить. Когда Btrieve
                         открывает файл в режиме "только чтение", Ваша
                         прикладная программа может только читать файл; она
                         не может выполнять корректировки. Если были
                         повреждены индексы файла, записи можно найти
                         открывая файл в режиме "только чтение" и затем
                         используя операцию Step Next.

                 -3      Верификация

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

                  -4     Исключительный

                         Исключительный режим дает рабочей станции
                         исключительный доступ к файлу на разделяемом

                         устройстве. Никакая другая рабочая станция не
                         может открыть этот файл до тех пор, пока рабочая
                         станция, имеющая исключительный доступ к файлу,
                         не закроет его. Исключительный режим имеет место
                         только для файлов, расположенных на разделяемом
                         устройстве. Если Вы запросите исключительный режим
                         для файла на локальном диске, Btrieve откроет файл
                         в обычном режиме.

                 Другие  Нормальный

          Для доступа к Bteieve-файлу из Бейсика необходимы два шага.
          Во-первых, Ваша прикладная программа должна запросить операцию
          BASIC OPEN для устройства NUL для того, чтобы использовать
          утверждение FIELD для буфера данных файла. (См. "Вызов Btrieve
          из BASIC" для дополнительной информации). Во-вторых, прикладная
          программа должна выполнить Btrieve-операцию Open. другие языки не
          требуют первого шага.

          Btrieve допускает до 255 открытых файлов для BASIC-компилятора,
          Pascal, COBOL или C прикладных задач. Когда множественные файлы
          открыты в одно и то же время, Btrieve использует блок текущей
          позиции для определения, к какому файлу нужен доступ при данном
          вызове.

                 ---------------------------------------------------------
                 ПРИМЕЧАНИЕ:

                 Хотя Btrieve позволяет прикладной программе открывать до
                 255 файлов, BASIC-интерпретатор и некоторые компиляторы
                 BASIC-а позволяют максимально только 15 открытых файлов.
                 Для доступа к более, чем трем файлам, BASIC требует, чтобы
                 Вы задали параметр файлов / при инициации BASIC-
                 интерпретатора. Когда Вы открываете множественные файлы в
                 одно и то же время из BASIC-а, Btrieve использует FCB для
                 определения, к какому файлу нужен доступ при данном
                 вызове. См. документацию по BASIC-интерпретатору или
                 компилятору для дополнительной информации.
                 ---------------------------------------------------------

          Р е з у л ь т а т  :

          Если операция Opene завершилась успешно, Btrieve:

            - Назначьте обработчик файла для файла.

            - Зарезервируйте блок позиции, передаваемый при вызове Open для
              вновь открываемогофайла;

            - Сделайте файл доступным.


          Если операция Open завершилась ошибочно, Btrieve возвратит
          ненулевой код статуса. Наиболее распростанееные ненулевые коды
          статуса для операции Open:

            -  2 Ошибка ввода/вывода

            - 46 Путь доступа к файлу неверен

            - 85 Файл занят

            - 86 Таблица файла заполнена

            - 87 Таблица обработки заполнена

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          Операция Open не устанавливает какую-либо позиционную информацию.

          RESET (28)
          (Сброс)

          Н а з н а ч е н и е  :

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

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦         ¦            ¦      ¦  x  ¦  x
          Возвращаемые        ¦         ¦            ¦      ¦     ¦

          О п и с а н и е  :

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

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          Ваша прикладная программа может запрсить операцию Reset в любое
          время после загрузки Record Manager.

          П р о ц е д у р а  :

          Для выполнения операции Reset установите следующие Btrieve-
          параметры:

            - Установите код операции равный 28.

            - Установите парвметр номера ключа в -1, если Ваша прикладная
              программа освобождает ресурсы для другой рабочей станции
              сети.

            - Сохраните номер связи рабочей станции, на которой
              осуществляется сброс, как целое число в первых 2 байтах
              буфера ключа.

          Р е з у л ь т а т  :

          Если операция Reset завершилась успешно, Btrieve:

            - Закроет все открытые файлы для заданной рабочей станции.

            - Отменит все блокировки, заданные данной рабочей станцией.

            - Отменит все активные транзакции на данной рабочей станции.

          Если операция не была успешной  по какой-либо причине, Btrieve
          возвратит ненулевой код статуса.

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          Операция Reset разрушает всю позиционную информацию, т.к.
          закрывает все открытые файлы.

          SET DIRECTORY (17)
          (Установить директорию)

          Н а з н а ч е н и е  :

          Операция Set Directory устанавливает текущую директорию в
          заданное значение.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦         ¦            ¦      ¦  x  ¦
          Возвращаемые        ¦         ¦            ¦      ¦     ¦

          О п и с а н и е  :

          Операция Set Directory изменяет текущую директорию на директорию
          заданную в параметре буфера ключа.

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          До того, как Ваша прикладная программа запрсит операцию
          Set Directory, устройство-приемник и директория должны стать
          доступны.

          П р о ц е д у р а  :

          Для установки текущей директории установите следующие Btrieve-
          параметры:

            - Установите код операции равный 17.

            - Сохраните требуемое устройство и путь директории, завершенные
              двоичным 0, в буфере ключа. Если Вы опустите имя устройства,
              Btrieve будет использовать устройство, заданное по умолчанию.
              Если Вы не задатите полный путь для директории, Btrieve
              добавит путь директории, заданный в буфере ключа, к текущей
              директории.

          Р е з у л ь т а т  :

          Если операция Set Directory завершилась успешно, Btrieve сделает
          директорию, заданную в буфере ключа, текущей директорией.

          Если операция не была успешной, Btrieve оставит текущую
          директорию неизмененной и возвратит ненулевой статус.


          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          Set Directory не оказывает эффект на позиционирование.

          SET OWNER (29)
          (Установить владельца)

          Н а з н а ч е н и е  :

          Set Owner присваивает имя владельца файлу.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦    x    ¦     x      ¦   x  ¦  x  ¦  x
          Возвращаемые        ¦    x    ¦            ¦      ¦     ¦

          О п и с а н и е  :

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

          Когда Вы присвоите имя владельца файлу, Вы можете также указать
          Btrieve зашифровать данные файла на диске. Если Вы задаете
          шифровку данных, Btrieve зашифрует все данные во время операции
          Set Owner. Чем длиннее файл, тем дольше выполняется Set Owner&

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          До того, как Ваша прикладная программа запрсит операцию
          Set Owner, должны быть выполнены следующие предварительные
          условия:

            - Файл должен быть открыт.

            - Не должно быть активных транзакций.

            - Имя владельца не должно уже быть присвоено файлу.

          П р о ц е д у р а  :

          Для выполнения операции Set Owner установите следующие Btrieve-
          параметры:

            - Установите код операции равный 29.


            - Передайте блок позиции, определяющий файл, что Вы хотите
              защитить.

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

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

                  Значение   Описание

                      0      Запросы имени владельца при любом методе
                             доступа (нет шифровки данных)

                      1      Предоставление доступа "только чтение" без
                             имени владельца (нет шифровки данных)

                      2      Запросы имени владельца при любом методе
                             доступа (с шифровкой данных)

                      3      Предоставление доступа "только чтение" без
                             имени владельца (с шифровкой данных)

                            Таблица 6.2
                Коды имени владельца и шифровки данных

          Р е з у л ь т а т  :

          Если операция Set Owner завершилась успешно, Btrieve:

            - Не позволит получить доступ к файлу, пока не будет задано имя
              владельца;

            - Зашифрует данные в файле, если задана шифровка.

          Как только Ваша прикладная программа установит имя владельца, оно
          останется действительным до тех пор, пока Ваша прикладная
          программа не запросит операцию Clear Owner.

          Если операция Set Owner не была успешной, Btrieve возвратит
          ненулевой статус. Наиболее часто встречающиеся ненулевые коды
          статуса:

            - 41 Недопустимая операция

            - 50 Владелец уже установлен

            - 51 Неправильное имя владельца

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          Set Owner не оказывает эффект на позиционирование.

          STAT (15)
          (Статистика)

          Н а з н а ч е н и е  :

          Stat ищет характеристики для заданного файла.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦   x     ¦      x     ¦   x  ¦  x  ¦
          Возвращаемые        ¦         ¦      x     ¦   x  ¦  x  ¦

          О п и с а н и е  :

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

          Btrieve возвращает характеристики файла в буфер данных в том же
          самом двоичном формате как и в операции Create. Для 4-байтовых
          переменных (число ключей и записей) Btrieve возвращает младшую
          часть числа в первых 2 байтах, за которыми следует старшая часть
          числа в последних 2 байтах. Зарезервированные области также
          размещаются, хотя Btrieve игнорирует их в операции Stat.

          Флаги файла появляются как показано ниже:

            - Если бит 0 = 1, файл допускает записи переменной длины.

            - Если бит 1 = 1, Btrieve усечет пробельные концы в записях
              переменной длины.

            - Если бит 2 = 1, Btrieve перераспределит страницы для файла

            - Если бит 3 = 1, Btrieve сожмет данные в файле.

            - Если бит 4 = 1, Btrieve создаст файл, состоящий только из
              ключей.

            - Если бит 6 = 1, Btrieve установит 10% границу свободного
              пространства.

            - Если бит 7 = 1, Btrieve установит 20% границу свободного

              пространства.

            - Если бит 6 = 1 и бит 7 = 1, Btrieve установит 30% границу
              свободного пространства.

          Спецификации ключа появляются непосредственно за спецификациями
          файла и повторяются для каждого сегмента в файле. Btrieve
          устанавливает флаги ключа следующим образом:

            - Если бит 0 = 1, ключ допускает дубликаты.

            - Если бит 1 = 1, ключ - модифицируемый.

            - Если бит 2 = 0 и бит 8 = 0, ключ - строковый.

            - Если бит 2 = 1 и бит 8 = 0, ключ - двоичный.

            - Если бит 3 = 1, ключ имеет пустое значение.

            - Если бит 4 = 1, ключ имеет другой сегмент.

            - Если бит 5 = 1, ключ отсортирован с помощью последовательности
              альтернативного поиска.

            - Если бит 6 = 1, ключ отсортирован в убывающем порядке.

            - Бит 7 игнорируется для операции Create.

            - Если бит 8 = 0, ключ - стандартного типа.

            - Если бит 8 = 1, ключ - расширенного типа,

            - Если бит 9 = 1, ключ - ручной.
          См. операцию Create в этой главе, где находится таблица
          иллюстрирующая десятичные значения этих флагов.

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


                            ¦   Описание            ¦Длина¦
                            +-----------------------+-----+
                            ¦ длина записи          ¦  2  ¦
                            ¦-----------------------¦-----¦
                            ¦ размер страницы       ¦  2  ¦
                            ¦-----------------------¦-----¦
             спецификации   ¦ кол-во индексов       ¦  2  ¦
                файла       ¦-----------------------¦-----¦
                            ¦ кол-во заисей         ¦  4  ¦
                            ¦-----------------------¦-----¦
                            ¦ флаги файла           ¦  2  ¦
                            ¦-----------------------¦-----¦
                            ¦ резервное слово       ¦  2  ¦
                            ¦-----------------------¦-----¦
                            ¦неиспользуемые страницы¦  2  ¦
                            L-----------------------+------
                            ¦   Описание            ¦Длина¦
                            +-----------------------+-----+
                            ¦ позиция ключа         ¦  2  ¦
                            ¦-----------------------¦-----¦
                            ¦ длина ключа           ¦  2  ¦
             спецификации   ¦-----------------------¦-----¦
               ключей       ¦ флаги ключа           ¦  2  ¦
                            ¦-----------------------¦-----¦
             (повторяются)  ¦ кол-во ключей         ¦  4  ¦
                            ¦-----------------------¦-----¦
                            ¦ тип расширенного ключа¦  1  ¦
                            ¦-----------------------¦-----¦
                            ¦ пустое значение       ¦  1  ¦
                            ¦-----------------------¦-----¦
                            ¦ зарезервировано       ¦  4  ¦
                            L-----------------------+------

                                   Таблица 6.3
                            Буфера данных для операции Stat

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          До выполненият операции Stat Ваша прикладная программа должна
          сперва открыть Btrieve-файл.

          П р о ц е д у р а  :

          Для выполнения операции Stat установите следующие Btrieve-
          параметры:

            - Установите код операции в 15.


            - Передайте блок позиции файла.

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

            - Задайте длину буфера данных.

            - Покажите буфер ключа длиной по крайней мере 64 символа.

          Р е з у л ь т а т  :

          Если операция Stat завершилась успешно, Btrieve:

             - Возвратит характеристики файла и ключей в буфер данных;

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

          Если операция завершилась безуспешно, Btrieve вернет ненулевой
          код статуса, информирующий о причине. Наиболее часто встречающие
          ненулевые коды:

            -  3 Файл не открыт

            - 22 Буфер данных слишком мал

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          Операция Stat Create не устанавливает какую-либо позиционную
          информацию.

          STEP FIRST (33)
          (Шаг на первую)

          Н а з н а ч е н и е  :

          Step First ищет запись, размещенную физически первой в файле.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦    x    ¦            ¦   x  ¦     ¦
          Возвращаемые        ¦    x    ¦     x      ¦   x  ¦     ¦

          О п и с а н и е  :

          Step First позволяет Вашей прикладной программе искать
          запись, размещенную физически первой в файле. Btrieve не
          использует индексный путь для поиска записи.

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          До того, как Ваша прикладная программа сможет выполнить операцию
          Step First, файл должен быть открыт.

          П р о ц е д у р а  :

          Для выполнения операции Step First установите следующие Btrueve-
          параметры:

            - Задайте код операции равный 33.

            - Передайте блок позиции для файла.

            - Покажите буфер данных, в котором хранится возвращаемая запись

            - Установите параметр длины буфера данных равный длине буфера
              данных.

          Р е з у л ь т а т  :

          Если операция завершилась успешно, Btrieve

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

            - Установит параметр длины буфера данных равный количеству
              байтов в возвращаемой записи.

          Если операция  не была успешной, Btrieve вернет ненулевой код
          статуса указывающий на причину. Наиболее часто встречающиеся
          ненулевые коды статуса:

            -  3 Файл не открыт

            -  9 Конец файла

            - 22 Буфер данных слишком мал

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          Операция Step First не устанавливает позицию в индексе.

          STEP LAST (33)
          (Шаг на последнюю)

          Н а з н а ч е н и е  :

          Step Last ищет запись, размещенную физически последней в файле.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦    x    ¦            ¦   x  ¦     ¦
          Возвращаемые        ¦    x    ¦     x      ¦   x  ¦     ¦

          О п и с а н и е  :

          Step Last позволяет Вашей прикладной программе искать
          запись, размещенную физически последней в файле. Btrieve не
          использует индексный путь для поиска записи при операции
          Step Last.

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          До того, как Ваша прикладная программа сможет выполнить операцию
          Step Last, файл должен быть открыт.

          П р о ц е д у р а  :

          Для выполнения операции Step Last установите следующие Btrueve-
          параметры:

            - Задайте код операции равный 34.

            - Передайте блок позиции для файла.

            - Покажите буфер данных, в котором хранится возвращаемая запись

            - Установите параметр длины буфера данных равный длине буфера
              данных.

          Р е з у л ь т а т  :

          Если операция завершилась успешно, Btrieve

            - Вернет физически последнюю запись файла в буфер данных;

            - Установит параметр длины буфера данных равный количеству
              байтов в возвращаемой записи.

          Если операция  не была успешной, Btrieve вернет ненулевой код
          статуса указывающий на причину. Наиболее часто встречающиеся
          ненулевые коды статуса:

            -  3 Файл не открыт

            -  9 Конец файла

            - 22 Буфер данных слишком мал

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          Операция Step Last не устанавливает позицию в индексе.

          STEP NEXT (24)
          (Шаг на следующую)

          Н а з н а ч е н и е  :

          Step Next ищет запись, физически следующую за текущей записью.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦    x    ¦            ¦   x  ¦     ¦
          Возвращаемые        ¦    x    ¦     x      ¦   x  ¦     ¦

          О п и с а н и е  :

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

          Ваша прикладная программа не может прогнозировать порядок, в
          котором записи будут возвращаться операцией Step Next.

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          До того, как Ваша прикладная программа сможет выполнить операцию
          Step Next, файл должен быть открыт.

          П р о ц е д у р а  :

          Для выполнения операции Step Next установите следующие Btrueve-
          параметры:

            - Задайте код операции равный 24.

            - Передайте блок позиции для файла.

            - Покажите буфер данных, в котором хранится возвращаемая запись

            - Задайте длину буфера данных.


          Р е з у л ь т а т  :

          Если операция завершилась успешно, Btrieve

            - Вернет физически последнюю запись файла в буфер данных Вашей
              прикладной программы;

            - Установит параметр длины буфера данных равный количеству
              байтов в возвращаемой записи.

          Если операция  не была успешной, Btrieve вернет ненулевой код
          статуса указывающий на причину. Наиболее часто встречающиеся
          ненулевые коды статуса:

            -  3 Файл не открыт

            -  9 Конец файла

            - 22 Буфер данных слишком мал

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          Операция Step Next не устанавливает позицию в индексе.

          STEP PREVIOUS (36)
          (Шаг на предыдующую)

          Н а з н а ч е н и е  :

          Step Previous позволяет Вашей прикладной программе искать запись
          физически предшествующую текущей записи.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦    x    ¦            ¦   x  ¦     ¦
          Возвращаемые        ¦    x    ¦     x      ¦   x  ¦     ¦

          О п и с а н и е  :

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

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          До того, как Ваша прикладная программа сможет выполнить операцию
          Step previous, должен быть выполнены следующие предварительные
          условия:

            - Файл должен быть открыт.

            - Предыдущей операцией должна быть успешно выполненная операция
              Get или Step.

          П р о ц е д у р а  :

          Для выполнения операции Step Previous установите следующие Btrueve-
          параметры:

            - Задайте код операции равный 35.

            - Передайте блок позиции для файла.

            - Покажите буфер данных, в котором хранится возвращаемая запись

            - Задайте длину буфера данных.

          Р е з у л ь т а т  :

          Если операция завершилась успешно, Btrieve

            - Вернет физически последнюю запись файла в буфер данных Вашей
              прикладной программы;

            - Установит параметр длины буфера данных равный количеству
              байтов в возвращаемой записи.

          Если операция  не была успешной, Btrieve вернет ненулевой код
          статуса указывающий на причину. Наиболее часто встречающиеся
          ненулевые коды статуса:

            -  3 Файл не открыт

            -  9 Конец файла

            - 22 Буфер данных слишком мал

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          Операция Step Previous не устанавливает позицию в индексе.

          STOP (25)
          (Остановить)

          Н а з н а ч е н и е  :

          Операция Stop завершает программу BREQUEST и удаляет ее из
          памяти рабочей станции.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦         ¦            ¦      ¦     ¦
          Возвращаемые        ¦         ¦            ¦      ¦     ¦

          О п и с а н и е  :

          Stop удаляет программу запросов (BREQUEST) из памяти рабочей
          станции. Btrieve прикладная программа на рабочей станции не
          может выполнять какие-либо другие Btrieve- операции до тех пор,
          пока вы не стартуете вновь BREQUEST.

          Операция Stop удаляеттолько из памяти рабочей станции, где
          выполняется Btrieve-запрос. вы не можете остановить BREQUEST на
          другой рабочей станции.

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          BREQUEST должен быть загружен до того, как Ваша прикладная
          программа сможет Запросить операцию Stop.

          П р о ц е д у р а  :

          Для выполнения операции Stop Ваша прикладная программа задает
          код операции равный 25.

          Р е з у л ь т а т  :

          Если операция Stop завершилась успешно, Btrieve

            - Удалит BREQUEST из памяти на рабочей станции:

            - Закроет все предварительно открытые файлы для раочей станции

            - Снимет все активные транзакции;

            - Отменит все блокировки на рвбочей станции.


          Если операция Stop не была успешной, Btrieve вернет ненулевой код
          статуса. Наиболее часто встречающийся  ненулевой код статуса 20
          (BREQUEST не загружен).

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          Операция Stop не устанавливает какую-либо позицию.

          UNLOCK (27)
          (Отмена блокировки)

          Н а з н а ч е н и е  :

          Операция Unlock отменяет блокировки одной или более записей,
          которые предварительно были заблокированы.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦    x    ¦     x      ¦   x  ¦     ¦  x
          Возвращаемые        ¦         ¦            ¦      ¦     ¦

          О п и с а н и е  :

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

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          До того, как Ваша прикладная  программа сможет запросить операцию
          Unlock на рвбочей станции, рабочая станция должна установить по
          крайней мере блокировку одной записи.

          П р о ц е д у р а  :

          Для отмены единичной блокировки записи,установите следующие
          Btrieve-параметры:

            - Установите код операции равный 27.

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

            - Установите номер ключа в неотрицательное значение.

          Для отмены множественной блокировки записи одного типа, сперва
          найдите 4-байтовую позицию записи, которую Вы хотите
          разблокировать, с помощью операции Get Position (22) для этой
          записи. Затем запросите операцию Unlock , устанавливая
           Btrieve-параметры следующим образом:

            - Установите код операции равный 27.

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

            - Сохраните (в буфере данных) 4-байтовую позицию, возвращаемую
              Btrieve.

            - Установите длину буфера данных равную 4.

            - Проинициализируйте параметр номера  ключа -1.

          Для отмены всех множественных блокировок записи файла Вы должны
          устанавить Btrieve-параметры следующим образом:

            - Установите код операции равный 27.

            - Передайте Btrieve блок позиции файла, содержащего
              множественные блокировки.

            - Проинициализируйте параметр номера  ключа -2.

          Р е з у л ь т а т  :

          Если операция Unlock завершилась успешно, Btrieve отменит все
          блокировки, задаваемые этой операцией.

          Если операция Unlock не была успешной, Btrieve вернет ненулевой
          статус. Наиболее часто встречающийся  ненулевой код статуса 81
          (Ошибка блокировки).

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          Операция Unlock не оказывает действие на позиционирование.

          UPDATE (3)
          (Корректировка)

          Н а з н а ч е н и е  :

          Операция Update корректирует существующую запись в файле.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦    x    ¦     x      ¦   x  ¦     ¦  x
          Возвращаемые        ¦    x    ¦            ¦      ¦  x  ¦

          О п и с а н и е  :

          Операция Update изменяет информацию в существующей записи.

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          До того, как Ваша прикладная  программа сможет запросить операцию
          Update, должны встретиться следующие предварительные условия:

            - Файл должен быть открыт.

            - Btrieve-обращение к файлу, выполняемое непосредственно перед
              вызовом Update, должно найти запись6 которая будет
              корректироваться. вы не можете запрашивать вызов, используя
              тот же самый блок позиции, во время между поиском Вашей
              прикладной программой записи и корректировкой записи.

          П р о ц е д у р а  :

          Для выполнения операции Update установите следующие Btrieve-
          параметры:

            - Установите код операции равный 3.

            - Передайте блок позиции файла, содержащего эту запись.

            - Сохраните скорректированную запись в буфере данных.

            - Установите длину буфера данных равной длине корректируемой
              записи.

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


          Р е з у л ь т а т  :

          Если операция Update завершилась успешно, Btrieve:

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

            - Обновит индексы ключей для отражения любых изменений в
              значениях ключей.

            - Заменит параметр буфера ключа, если потребуется.

          Если операция Update не была успешной, Btrieve вернет ненулевой
          код статуса. Наиболее часто встречающиеся  ненулевые коды статуса

            -  5 Ошибка дубликата ключа.

            -  7 Другой номер ключа.

            -  8 Неправильное позиционирование.

            - 10 Ошибка модифицируемого ключа.

            - 14 Ошибка открытия прообраза.

            - 15 Ошибка ввода/вывода прообраза.

            - 22 Буфер данных слишком мал.

            - 80 Ошибка конфликта.

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

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

            - Первая запись со значением ключа большим, чем обновленный
              ключ, становится СЛЕДУЮЩЕЙ записью.

            - Первая запись со значением ключа меньшим, чем обновленный
              ключ, становится ПРЕДЫДУЩЕЙ записью.

          VERSION (26)
          (Версия)

          Н а з н а ч е н и е  :

          Операция Version возвращает текущую версию Btrieve и номер
          пересмотра.

          П р и м е н е н и е   п а р а м е т р о в  :

                      --------T----------------------T------T-----T------
                              ¦        FCB           ¦Длина ¦     ¦
                      Операция¦Блок поз.¦Буфер данных¦буфера¦Буфер¦Номер
                              ¦         ¦            ¦данных¦ключа¦ключа
                      --------+---------+------------+------+-----+------
          Ожидаемые       x   ¦         ¦            ¦   x  ¦     ¦
          Возвращаемые        ¦         ¦     x      ¦   x  ¦     ¦

          О п и с а н и е  :

          Эта операция возвращает текущую версию Btrieve и номер пересмотра.

          П р е д в а р и т е л ь н ы е    у с л о в и я  :

          До того, как Вы сможете запросить операцию Version, должен быть
          загружен Btrieve Record Manager.

          П р о ц е д у р а  :

          Для выполнения операции Version установите следующие Btrieve-
          параметры:

            - Установите код операции равный 26.

            - Посмотрите, чтобы буфер данных был по крайней мере длиной 5
              байтов.

            - Установите длину буфера данных равной 5.

          Р е з у л ь т а т  :

          Если операция Version завершилась успешно, Btrieve возвратит
          данные в буфер данных в следующем формате:

                Размер     Описание

                   2       Целое число, содержащее номер версии
                   2       Целое число, содержащее номер пересмотра
                   1       Символ, содержащий "N" для NetWare Btrieve

          Если операция Version не была успешной, Btrieve вернет ненулевой

          статус.

          Т е к у щ е е   п о з и ц и о н и р о в а н и е  :

          Операция Version не оказывает влияния на текущее
          позиционирование.

| << | < | > | >>
Содержание

  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте