DBF.Open


Библиотека

DBF.AEL

Синтаксис

DBF.Open(dbfFile: IDENT; 
         dbfFileName: STRING;
         [ OpMode: OPMODE ];
         [ CaseSensitiveFieldNames: SCAL[2] ] );
OPMODE = Input|Output

Описание

Открывает для чтения (Input) или записи (Output) DBF-файл по имени fileName. Если режим открытия не указан, файл открывается для чтения. По умолчанию используется расширение  ".dbf". Процедура рассчитывает, что файл существует, и разыскивает его по путям из RED-файла, более того, найденный файл должен действительно являться DBF-файлом по своей структуре. В момент открытия файла проверяется, что имена полей не конфликтуют между собой. По умолчанию имена полей рассматриваются как регистронезависимые; необязательный флаговый параметр параметр CaseSensitiveFieldNames позволяет изменить это.

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

Идентификатор открытого DBF-файла несовместим с идентификаторами открытых файлов, получаемыми при помощи FIO.Open и OPENREP, т.е. из файла, открытого при помощи DBF.Open нельзя читать при помощи FIO.RdByte и т.п., для этого нужно открыть файл при помощи FIO.Open.

Открытый при помощи DBF.Open файл можно закрыть процедурой DBF.Close. Если этого не сделать, файл будет закрыт автоматически по окончании процесса в котором он был открыт.

После успешного открытия, если файл не пуст, то текущей становится запись с номером 0. Далее выбирать текущую запись можно при помощи DBF.Seek.

Исключительные ситуации

DBF-файл с идентификатором dbfFile уже открыт Исключение 508
Отказ открытия DBF-файла (файл не найден или доступ отвергнут) Исключение 506
Файл не является DBF-файлом (не соответствует код в заголовке) Исключение 500
В файле dbfFile разрушен заголовок Исключение 501

См. также