Возвращает флаги состояния для заданной рабочей области.
int _DBStatus(int workarea) int workarea; /* Рабочая область. */ |
Примечания
Если никакая таблица в заданной рабочей области не открыта, _DBStatus( ) озвращает отрицательное целое число, абсолютное значение которого равно номеру ошибки Visual FoxPro. В следующей таблице показаны возвращаемые флаги состояния:
| Флаг | Установка |
|---|---|
|
DB_BOF |
Устанавливается на тех же условиях, что и функция Visual FoxPro BOF( ). |
|
DB_EOF |
Устанавливается на тех же условиях, что и функция Visual FoxPro EOF( ). |
|
DB_RLOCKED |
Устанавливается, когда блокирована текущая запись, блокирована таблица или когда таблица открыта эксклюзивно. |
|
DB_FLOCKED |
Устанавливается, когда таблица блокирована или открыта эксклюзивно. |
|
DB_EXCLUSIVE |
Устанавливается, когда таблица открыта эксклюзивно. |
|
DB_READONLY |
Устанавливается, когда таблица открыта без доступа для записи. |
Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.
Пример
В следующем примере отображается состояние таблицы, открытой в текущей рабочей области. Код проверяет каждый бит значения, возвращенного _DBStatus( ) и выдает на экран соответствующее сообщение.
Код Visual FoxPro
Copy Code | |
|---|---|
SET LIBRARY TO DBSTATUS = DBSTATUS() && displays status of DBF in current work area | |
Код C
Copy Code | |
|---|---|
#include <pro_ext.h>
FAR Example(ParamBlk FAR *parm)
{
int dbstatus = _DBStatus(-1);
_PutStr("\nStatus of DBF in current work area:");
if (dbstatus & DB_BOF)
_PutStr("\nBOF()");
if (dbstatus & DB_EOF)
_PutStr("\nEOF()");
if (dbstatus & DB_RLOCKED)
_PutStr("\nCurrent record is RLOCKed");
if (dbstatus & DB_FLOCKED)
_PutStr("\nDatabase is FLOCKed");
if (dbstatus & DB_EXCLUSIVE)
_PutStr("\nDatabase is open EXCLUSIVEly");
if (dbstatus & DB_READONLY)
_PutStr("\nDatabase is READONLY");
}
FoxInfo myFoxInfo[] = {
{"DBSTATUS", (FPFI) Example, 0, ""},
};
FoxTable _FoxTable = {
(FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
}; | |
Смотрите также
Справочное руководство
Процедура библиотеки API _DBLock( )Процедура библиотеки API _DBUnlock( )
Функция BOF( )
Функция EOF( )
Функция ISRLOCKED( )
Функция ISFLOCKED( )
функция ISEXCLUSIVE( )
Функция ISREADONLY( )
Концепции
Процедуры библиотеки API от A до ZПрочие ресурсы
Доступ к API Visual FoxProПроцедуры библиотеки API по категориям
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.