📄 bde.int
字号:
fldstFIXED = 31; { CHAR type }
fldstUNICODE = 32; { Unicode }
{ fldINT32 subtype }
fldstAUTOINC = 29;
{ fldADT subtype }
fldstADTNestedTable = 35; { ADT for nested table (has no name) }
{ fldDATE subtype }
fldstADTDATE = 37; { DATE (OCIDate ) with in an ADT }
{ fldZSTRING subtype }
fldstGUID = 38; { Subtype of string. Ado-guid field }
{ fldBYTES subtype }
fldstINT64 = 39; { Interbase 6 INT64 }
{ Paradox types (Physical) }
fldPDXCHAR = $101; { Alpha (string) }
fldPDXNUM = $102; { Numeric }
fldPDXMONEY = $103; { Money }
fldPDXDATE = $104; { Date }
fldPDXSHORT = $105; { Short }
fldPDXMEMO = $106; { Text Memo (blob) }
fldPDXBINARYBLOB = $107; { Binary data (blob) }
fldPDXFMTMEMO = $108; { Formatted text (blob) }
fldPDXOLEBLOB = $109; { OLE object (blob) }
fldPDXGRAPHIC = $10A; { Graphics object (blob) }
fldPDXBLOB = fldPDXMEMO;
fldPDXLONG = $10B; { Long }
fldPDXTIME = $10C; { Time }
fldPDXDATETIME = $10D; { Time Stamp }
fldPDXBOOL = $10E; { Logical }
fldPDXAUTOINC = $10F; { Auto increment (long) }
fldPDXBYTES = $110; { Fixed number of bytes }
fldPDXBCD = $111; { BCD (32 digits) }
fldPDXUNICHAR = $112; { not supported yet }
{ xBASE types (Physical) }
fldDBCHAR = $201; { Char string }
fldDBNUM = $202; { Number }
fldDBMEMO = $203; { Memo (blob) }
fldDBBOOL = $204; { Logical }
fldDBDATE = $205; { Date }
fldDBFLOAT = $206; { Float }
fldDBLOCK = $207; { Logical type is LOCKINFO }
fldDBOLEBLOB = $208; { OLE object (blob) }
fldDBBINARY = $209; { Binary data (blob) }
fldDBBYTES = $20A; { Only for TEMPORARY tables }
fldDBLONG = $20B; { Long (Integer) }
fldDBDATETIME = $20C; { DateTime }
fldDBDOUBLE = $20D; { Double }
fldDBAUTOINC = $20E; { Auto increment (long) }
{ xBASE key types (Cannot be used as field types) }
fldDBKEYNUM = $210;
fldDBKEYBCD = $211;
{ Ascii types (Physical) }
fldASCCHAR = $301; { Char string }
fldASCNUM = $302; { Number }
fldASCBOOL = $303; { Logical }
fldASCDATE = $304; { Date }
fldASCFLOAT = $305; { Float }
fldASCLOCK = $306; { Not used }
fldASCTIMESTAMP = $307; { TimeStamp }
fldASCTIME = $308; { Time }
fldASCLONG = $309; { Long }
fldASCMONEY = $30A; { Money }
{ MS Access types (Physical) }
fldACCCHAR = $701; { Fixed length Character }
fldACCVARCHAR = $702; { Variable length Character }
fldACCDATETIME = $703; { Date/Time }
fldACCBIT = $704; { Boolean }
fldACCMONEY = $705; { Currency }
fldACCSHORT = $706; { Short }
fldACCLONG = $707; { Long }
fldACCFLOAT = $708; { Float }
fldACCLONGTEXT = $709; { Memo }
fldACCLONGBINARY = $70A; { OLE Object }
fldACCAUTOINC = $70B; { Auto Number }
fldACCBYTE = $70C; { Byte }
fldACCDOUBLE = $70D; { Double }
fldACCBINARY = $70E; { Binary }
fldACCGUID = $70F; { Replication ID }
{============================================================================}
{ Field descriptor }
{============================================================================}
type
FLDVchk = ( { Field Val Check type }
fldvNOCHECKS, { Does not have explicit val checks }
fldvHASCHECKS, { One or more val checks on the field }
fldvUNKNOWN { Dont know at this time }
);
type
FLDRights = ( { Field Rights }
fldrREADWRITE, { Field can be Read/Written }
fldrREADONLY, { Field is Read only }
fldrNONE, { No Rights on this field }
fldrUNKNOWN { Dont know at this time }
);
type
pFLDDesc = ^FLDDesc;
FLDDesc = packed record { Field Descriptor }
iFldNum : Word; { Field number (1..n) }
szName : DBINAME; { Field name }
iFldType : Word; { Field type }
iSubType : Word; { Field subtype (if applicable) }
iUnits1 : SmallInt; { Number of Chars, digits etc }
iUnits2 : SmallInt; { Decimal places etc. }
iOffset : Word; { Offset in the record (computed) }
iLen : Word; { Length in bytes (computed) }
iNullOffset : Word; { For Null bits (computed) }
efldvVchk : FLDVchk; { Field Has vcheck (computed) }
efldrRights : FLDRights; { Field Rights (computed) }
bCalcField : WordBool; { Is Calculated field (computed) }
iUnUsed : packed array [0..1] of Word;
end;
{ ============================================================================ }
{ Blob parameter descriptor }
{ ============================================================================ }
type
pBLOBParamDesc = ^BLOBParamDesc;
BLOBParamDesc = packed record
pBlobBuffer : Pointer; { Blob buffer (client) }
ulBlobLen : Integer; { Length of the blob }
iUnUsed : packed array[0..3] of Word;
end;
{============================================================================}
{ Index descriptor }
{============================================================================}
const
mdxDISTINCT = $0020; { OR with bUnique for dBASE distinct tags }
type
pIDXDesc = ^IDXDesc;
IDXDesc = packed record { Index description }
szName : DBITBLNAME; { Index name }
iIndexId : Word; { Index number }
szTagName : DBINAME; { Tag name (for dBASE) }
szFormat : DBINAME; { Optional format (BTREE, HASH etc) }
bPrimary : WordBool; { True, if primary index }
bUnique : WordBool; { True, if unique keys (TRI-STATE for dBASE) }
bDescending : WordBool; { True, for descending index }
bMaintained : WordBool; { True, if maintained index }
bSubset : WordBool; { True, if subset index }
bExpIdx : WordBool; { True, if expression index }
iCost : Word; { Not used }
iFldsInKey : Word; { Fields in the key (1 for Exp) }
iKeyLen : Word; { Phy Key length in bytes (Key only) }
bOutofDate : WordBool; { True, if index out of date }
iKeyExpType : Word; { Key type of Expression }
aiKeyFld : DBIKEY; { Array of field numbers in key }
szKeyExp : DBIKEYEXP; { Key expression }
szKeyCond : DBIKEYEXP; { Subset condition }
bCaseInsensitive : WordBool; { True, if case insensitive index }
iBlockSize : Word; { Block size in bytes }
iRestrNum : Word; { Restructure number }
abDescending : packed array [0..DBIMAXFLDSINKEY-1] of WordBool; { TRUE }
iUnUsed : packed array [0..15] of Word;
end;
{============================================================================}
{ Validity check, Referential integrity descriptors }
{============================================================================}
{ Subtypes for Lookup }
LKUPType = ( { Paradox Lookup type }
lkupNONE, { Has no lookup }
lkupPRIVATE, { Just Current Field + Private }
lkupALLCORRESP, { All Corresponding + No Help }
lkupHELP, { Just Current Fld + Help and Fill }
lkupALLCORRESPHELP { All Corresponging + Help }
);
const
TODAYVAL = 2; { for Min/Max/Def val flags }
NOWVAL = 3; { for Min/Max/Def val flags }
{ In VCHKDesc below, if any of bHasMinVal/bHasMaxVal/bHasDefVal }
{ = TODAYVAL, then TODAY is assumed , = NOWVAL, then current time/today is assumed }
type
pVCHKDesc = ^VCHKDesc;
VCHKDesc = packed record { Val Check structure }
iFldNum : Word; { Field number }
bRequired : WordBool; { If True, value is required }
bHasMinVal : WordBool; { If True, has min value }
bHasMaxVal : WordBool; { If True, has max value }
bHasDefVal : WordBool; { If True, has default value }
aMinVal : DBIVCHK; { Min Value }
aMaxVal : DBIVCHK; { Max Value }
aDefVal : DBIVCHK; { Default value }
szPict : DBIPICT; { Picture string }
elkupType : LKUPType; { Lookup/Fill type }
szLkupTblName : DBIPATH; { Lookup Table name }
end;
RINTType = ( { Ref integrity type }
rintMASTER, { This table is Master }
rintDEPENDENT { This table is Dependent }
);
RINTQual = ( { Ref integrity action/qualifier }
rintRESTRICT, { Prohibit operation }
rintCASCADE { Cascade operation }
);
pRINTDesc = ^RINTDesc;
RINTDesc = packed record { Ref Integrity Desc }
iRintNum : Word; { Ref integrity number }
szRintName : DBINAME; { A name to tag this integegrity constraint }
eType : RINTType; { Whether master/dependent }
szTblName : DBIPATH; { Other table name }
eModOp : RINTQual; { Modify qualifier }
eDelOp : RINTQual; { Delete qualifier }
iFldCount : Word; { Fields in foreign key }
aiThisTabFld : DBIKEY; { Fields in this table }
aiOthTabFld : DBIKEY; { Fields in other table }
end;
{============================================================================}
{ Security descriptor }
{============================================================================}
{ Family rights }
const
NOFAMRIGHTS = $00; { No Family rights }
FORMRIGHTS = $01; { Can change form }
RPTRIGHTS = $02; { Can change reports }
VALRIGHTS = $04; { Can change valchecks }
SETRIGHTS = $08; { Can change settings }
ALLFAMRIGHTS = (FORMRIGHTS or RPTRIGHTS or VALRIGHTS or SETRIGHTS);
{ All family rights }
type
PRVType = TypedEnum;
const
prvNONE = 0; { No privilege }
prvREADONLY = 1; { Read only Table or Field }
prvMODIFY = 3; { Read and Modify fields (non-key) }
prvINSERT = 7; { Insert + All of above }
prvINSDEL = $0F; { Delete + All of above }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -