📄 bde.int
字号:
prvFULL = $1F; { Full Writes }
prvUNKNOWN = $FF; { Unknown }
type
pSECDesc = ^SECDesc;
SECDesc = packed record { Security description }
iSecNum : Word; { Nbr to identify desc }
eprvTable : PrvType; { Table privileges }
iFamRights : Word; { Family rights }
szPassword : DBINAME; { Null terminated string }
aprvFld : packed array [0..DBIMAXFLDSINSEC-1] of PrvType;
{ Field level privileges (prvNONE/prvREADONLY/prvFULL) }
end;
{============================================================================}
{ Miscellaneous }
{============================================================================}
{ Index Id used to open table without a default index (i.e. no order) }
const
NODEFAULTINDEX = $FFFF;
{============================================================================}
{ Object types }
{============================================================================}
type
DBIOBJType = (
objFILLER, { Filler to make next start at 1 }
objSYSTEM, { System object }
objSESSION, { Session object }
objDRIVER, { Driver object }
objDATABASE, { Database object }
objCURSOR, { Cursor object }
objSTATEMENT, { Statement object }
objCLIENT, { Client object }
objDBSEC, { DbSystem object (dBASE only) }
objREPOSITORY { Data Repository object }
);
pObjAttrDesc = ^ObjAttrDesc;
ObjAttrDesc = packed record
iFldNum : Word; { Field id }
pszAttributeName : PChar; { Object attribute name }
end;
pObjTypeDesc = ^ObjTypeDesc;
ObjTypeDesc = packed record
iFldNum : Word; { Field id }
szTypeName : DBINAME; { Object type name }
end;
pObjParentDesc = ^ObjParentDesc;
ObjParentDesc = packed record
iFldNum : Word; { Field id }
iParentFldNum : Word; { Parent Field id }
end;
{============================================================================}
{ Cursor properties }
{============================================================================}
type
DBIShareMode = ( { Database/Table Share type }
dbiOPENSHARED, { Open shared (Default) }
dbiOPENEXCL { Open exclusive }
);
DBIOpenMode = ( { Database/Table Access type }
dbiREADWRITE, { Read + Write (Default) }
dbiREADONLY { Read only }
);
DBILockType = ( { Lock types (Table level) }
dbiNOLOCK, { No lock (Default) }
dbiWRITELOCK, { Write lock }
dbiREADLOCK { Read lock }
);
XLTMode = ( { Field translate mode }
xltNONE, { No translation (Physical Types) }
xltRECORD, { Record level translation (not supported) }
xltFIELD { Field level translation (Logical types) }
);
UPDLockMode = ( { Update lock mode (SQL only) }
updWHEREALL, { All fields in WHERE clause }
updWHEREKEYCHG, { Keyed and changed fields in WHERE clause }
updWHEREKEY { Keyed fields in WHERE clause }
);
TEXACTRECCNTExpensive = ( { Whether DbiGetExactRecordCount is expensive }
exactRecCntINEXPENSIVE, { inexpensive }
exactRecCntEXPENSIVE, { expensive }
exactRecCntUNKNOWN { record count is unknown }
);
pServerColDesc = ^ServerColDesc;
ServerColDesc = packed record { Auto increment and Defaults property }
iFldNum : Word; { Field id }
bServerCol : WordBool; { Auto Increment and Default }
end;
{ Table levels }
const
TBLLEVEL3 = 3; { Paradox level 3 and dBASE level 3+ }
TBLLEVEL4 = 4; { Paradox level 4 and dBASE level 4 }
TBLLEVEL5 = 5; { Paradox level 5 and dBASE/Win }
TBLLEVEL7 = 7; { Paradox level 7 , Win32, dBASE/Win 7 }
FOXLEVEL25 = 25; { Fox Table (Ver 2.5) }
type
pCURProps = ^CURProps;
CURProps = packed record { Virtual Table properties }
szName : DBITBLNAME; { table name (no extension, if it can be derived) }
iFNameSize : Word; { Full file name size }
szTableType : DBINAME; { Driver type }
iFields : Word; { No of fields in Table }
iRecSize : Word; { Record size (logical record) }
iRecBufSize : Word; { Record size (physical record) }
iKeySize : Word; { Key size }
iIndexes : Word; { Number of indexes }
iValChecks : Word; { Number of val checks }
iRefIntChecks : Word; { Number of Ref Integrity constraints }
iBookMarkSize : Word; { Bookmark size }
bBookMarkStable : WordBool; { Stable book marks }
eOpenMode : DBIOpenMode; { ReadOnly / RW }
eShareMode : DBIShareMode; { Excl / Share }
bIndexed : WordBool; { Index is in use }
iSeqNums : SmallInt; { 1: Has Seqnums; 0: Has Record# }
bSoftDeletes : WordBool; { Supports soft deletes }
bDeletedOn : WordBool; { If above, deleted recs seen }
iRefRange : Word; { Not used }
exltMode : XLTMode; { Translate Mode }
iRestrVersion : Word; { Restructure version number }
bUniDirectional : WordBool; { Cursor is uni-directional }
eprvRights : Word; { Table rights }
Dummy4 : Word;
iFmlRights : Word; { Family rights }
iPasswords : Word; { Number of Aux passwords }
iCodePage : Word; { Codepage (0 if unknown) }
bProtected : WordBool; { Table is protected by password }
iTblLevel : Word; { Driver dependent table level }
szLangDriver : DBINAME; { Language driver name }
bFieldMap : WordBool; { Field map active }
iBlockSize : Word; { Physical file blocksize in K }
bStrictRefInt : WordBool; { Strict referential integrity }
iFilters : Word; { Number of filters }
bTempTable : WordBool; { Table is a temporary table }
iUnUsed : packed array [0..15] of Word;
end;
{ Delayed Update Types and Constants }
type
DBIDelayedUpdCmd = ( { Op types for Delayed Update cursor }
dbiDelayedUpdCommit, { Commit the updates }
dbiDelayedUpdCancel, { Rollback the updates }
dbiDelayedUpdCancelCurrent, { Cancel the Current Rec Change }
dbiDelayedUpdPrepare { Phase1 of 2 phase commit }
);
const
DBIDELAYUPD_SHOWMODIFYBIT = $1; { Show only modified records. }
DBIDELAYUPD_SHOWINSERTBIT = $2; { Show only inserted records. }
DBIDELAYUPD_SHOWDELETEBIT = $4; { Show only deleted records. }
DBIDELAYUPD_SHOWNONMODIFYBIT = $8; { Show only unmodified recs. }
{============================================================================}
{ Record Properties }
{============================================================================}
type
pRECProps = ^RECProps;
RECProps = packed record { Record properties }
iSeqNum : Longint; { When Seq# supported only }
iPhyRecNum : Longint; { When Phy Rec#s supported only }
iRecStatus : Word; { Delayed Updates Record Status }
bSeqNumChanged : WordBool; { Not used }
bDeleteFlag : WordBool; { When soft delete supported only }
end;
{============================================================================}
{ General properties DbiGetProp/DbiSetProp }
{============================================================================}
{ Cursor properties }
{ General }
const
curMAXPROPS = $00050000; { ro UINT16 , Number of defined properties }
curTABLENAME = $00050001; { ro pTBLNAME , Table name }
curTABLETYPE = $00050002; { ro pDBINAME , Table type }
curTABLELEVEL = $00050003; { ro UINT16 , Table level 1..n }
curFILENAME = $00050004; { ro pPATH , Full filename }
curXLTMODE = $00050005; { rw XLTMode , Translate mode }
curSEQREADON = $00050006; { rw BOOL , Sequential read mode hint ON }
curONEPASSON = $00050007; { rw BOOL , One pass mode hint ON }
curUPDATETS = $00050008; { ro TIMESTAMP, Update timestamp }
curSOFTDELETEON = $00050009; { rw BOOL , Softdelete ON }
curLANGDRVNAME = $0005000A; { ro pCHAR , Symbolic language drv. name }
curCURSORNAME = $0005000B; { ro pCHAR , name of the cursor }
curPESSIMISTICLOCKS= $0005000C; { rw BOOL , Pess Locks = TRUE, Optimistic = FALSE }
curEXACTRECCNTEXPENSIVE= $0005000D; { ro EXPENSIVE, Whether DbiGetRecordCount is expensive }
curCOMPRESSARRAYFLDDESC= $0005000E; { rw BOOL, Compress ARRAY field desc }
curMAXFIELDID = $0005000F; { ro UINT16, Max # of field desc }
curFIELDFULLNAME = $00050010; { ro pObjAttrDesc, Object attribute name }
curFIELDTYPENAME = $00050011; { ro pObjTypeDesc, Object Type name }
curFIELDIDFORNAME = $00050012; { ro Field id returned for a given fieldname }
curFIELDIDFORPARENT= $00050013; { ro Field id of the parent returned }
curMAKECRACK = $00050014; { Create a crack at the current cursor position }
curFIELDISAUTOINCR = $00050015; { wo BOOL, Auto increment field }
curFIELDISDEFAULT = $00050016; { wo BOOL, Default field }
curAUTOREFETCH = $00050017; { rw BOOL, Refetch inserted record }
maxcurPROPS = 23; { keep in sync when adding cursor properties }
{ Paradox specific }
curPDXMAXPROPS = $01050000; { ro UINT16 , Number of defined properties }
maxcurPDXPROPS = 0;
{ DBase specific }
curDBMAXPROPS = $02050000; { ro UINT16 , Number of defined properties }
curINEXACTON = $02050001; { rw BOOL , InExact match ON }
curSHAREMODE = $02050002; { rw DBIShareMode, Share mode }
maxcurDBPROPS = 2;
{ Text Driver specific }
curDELIMITALLFLDS = $03050000; { rw BOOL , Delimit all fields. }
curUSESCHEMAFILE = $03050001; { rw BOOL , read schema from a file }
{ SQL Driver specific }
curUPDLOCKMODE = $04050000; { rw UPDLockMode, Update lock mode }
curNATIVEHNDL = $04050001; { ro pBYTE, Native cursor handle }
curMAXROWS = $04050002; { rw INT32, Max rows to fetch from server }
curGETEXTENDEDINFO = $04050003; { rw BOOL, Get RINT info etc. }
curGETHIDDENCOLUMNS= $04050004; { rw BOOL , Get all selected columns from server. }
curAUTOFLUSHREF = $04050005; { rw BOOL, automatic flush ref }
curREFINSERTTABLENAME= $04050006; { rw pTBLNAME , REF Table name }
curGETREF = $04050007; { ro REF of inserted record }
curCONSTSTATE = $0405009B; { rw BOOL, enable/disable constraints }
{ Delayed Updates Specific. }
curDELAYUPDRECSTATE = $05050001; { ro DELYUPDCbDesc }
curDELAYUPDABORTRESTORE = $05050002; { rw BOOL, restore state }
{ when commit is aborted. }
curDELAYUPDDISPLAYOPT = $05050003; { rw UINT16, view records }
{ with specific update status }
curDELAYUPDGETOLDRECORD = $05050004; { rw BOOL, get un-modified }
{ rec buf for modified recs }
curDELAYUPDNUMUPDATES = $05050005; { ro INT32, num of updates }
curDELAYUPDUSECALLBACK = $05050006; { rw BOOL, callback usr. }
{ Driver properties }
{ General }
drvMAXPROPS = $00030000; { ro UINT16 , Number of defined properties }
drvDRIVERTYPE = $00030002; { ro pDBINAME , Driver type }
drvDRIVERVERSION = $00030003; { ro UINT16 , Driver version }
maxdrvPROPS = 2; { keep in sync when adding driver properties }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -