📄 idapi.h
字号:
BOOL16 bCreateable; // Type can be created
DBINAME szNativeName; // Native (SQL) name used in DDL
UINT16 iUnUsed[16];
} FLDType;
typedef FLDType far *pFLDType;
typedef enum // PROP Validity
{
epropINVALID = 0, // Property is INVALID (not supported)
epropCANGET = 1, // You can GET value of the property
epropCANSET = 2 // You can GET and SET value of the property
} PROPValid;
//===========================================================================
// Call Backs
//===========================================================================
typedef enum // Call back type
{
cbGENERAL = 0, // General purpose
cbRESERVED1 = 1, //
cbRESERVED2 = 2, //
cbINPUTREQ = 3, // Input requested
cbRESERVED4 = 4, //
cbRESERVED5 = 5, //
cbBATCHRESULT = 6, // Batch processing rslts
cbRESERVED7 = 7, //
cbRESTRUCTURE = 8, // Restructure
cbRESERVED9 = 9, //
cbRESERVED10 = 10, //
cbRESERVED11 = 11, //
cbRESERVED12 = 12, //
cbRESERVED13 = 13, //
cbRESERVED14 = 14, //
cbRESERVED15 = 15, //
cbRESERVED16 = 16, //
cbRESERVED17 = 17, //
cbTABLECHANGED = 18, // Table changed notification
cbRESERVED19 = 19, //
cbCANCELQRY = 20, // Allow user to cancel Query
cbRESERVED21 = 21, //
cbRESERVED22 = 22, //
cbGENPROGRESS = 23, // Generic Progress report.
cbDBASELOGIN = 24, // dBASE Login
cbDELAYEDUPD = 25,
cbFIELDRECALC = 26, // Field(s) recalculation
cbTRACE = 27, // Trace
cbDBLOGIN = 28, // Database login
cbRESERVED29 = 29, //
cbRESERVED30 = 30, //
cbRESERVED31 = 31, //
cbRESERVED32 = 32, //
cbRESERVED33 = 33, //
cbNBROFCBS = 34 // Number of cbs
} CBType;
typedef CBType far *pCBType;
typedef enum // Call-back return type
{
cbrUSEDEF = 0, // Take default action
cbrCONTINUE = 1, // Continue
cbrABORT = 2, // Abort the operation
cbrCHKINPUT = 3, // Input given
cbrYES = 4, // Take requested action
cbrNO = 5, // Do not take requested action
cbrPARTIALASSIST = 6, // Assist in completing the job
cbrSKIP = 7, // Skip this operation
cbrRETRY = 8 // Retry this operation
} CBRType;
typedef CBRType far *pCBRType;
typedef CBRType (DBIFN * pfDBICallBack) // Call-back funtion pntr type
(
CBType ecbType, // Callback type
UINT32 iClientData, // Client callback data
pVOID pCbInfo // Call back info/Client Input
);
typedef pfDBICallBack far *ppfDBICallBack;
// Progress callback structure
typedef struct
{
INT16 iPercentDone; // Percentage done
DBIMSG szMsg; // Message to display
} CBPROGRESSDesc;
typedef CBPROGRESSDesc far * pCBPROGRESSDesc;
typedef enum // type of delayed update object (delayed updates callback)
{
delayupdNONE = 0,
delayupdMODIFY = 1,
delayupdINSERT = 2,
delayupdDELETE = 3
} DelayUpdErrOpType;
typedef struct // delayed updates callback info
{
DBIResult iErrCode;
DelayUpdErrOpType eDelayUpdOpType;
UINT16 iRecBufSize; // Record size (physical record)
pBYTE pNewRecBuf;
pBYTE pOldRecBuf;
} DELAYUPDCbDesc;
typedef enum // type of restructure object (restructure callback)
{
restrNONE = 0,
restrNEWFLD = 1,
restrOLDFLD = 2,
restrNEWINDEX = 3,
restrOLDINDEX = 4,
restrNEWVCHK = 5,
restrOLDVCHK = 6,
restrNEWRINT = 7,
restrOLDRINT = 8,
restrNEWSEC = 9,
restrOLDSEC = 10,
restrNEWTABLE = 11
} RESTErrObjType;
typedef struct { // Database login
DBINAME szDbName; // Database name
DBIOpenMode eOpenMode; // Open type desired
DBIShareMode eShareMode; // Share type desired
DBINAME szPassword; // Password
BOOL bCallbackToClose; // Returned flag
hDBIDb hDb; // db handle
} CBDBLogin;
typedef CBDBLogin *pCBDBLogin;
typedef enum // trace categories
{
traceUNKNOWN = 0x0000,
traceQPREPARE = 0x0001, // prepared query statements
traceQEXECUTE = 0x0002, // executed query statements
traceERROR = 0x0004, // vendor errors
traceSTMT = 0x0008, // statement ops (i.e. allocate, free)
traceCONNECT = 0x0010, // connect / disconnect
traceTRANSACT = 0x0020, // transaction
traceBLOB = 0x0040, // blob i/o
traceMISC = 0x0080, // misc.
traceVENDOR = 0x0100, // vendor calls
} TRACECat;
typedef TRACECat *pTRACECat;
typedef struct // trace callback info
{
TRACECat eTraceCat;
UINT16 uTotalMsgLen;
CHAR pszTrace[];
} TRACEDesc;
typedef TRACEDesc *pTRACEDesc;
#if !defined(MIDL)
typedef struct // restructure callback info
{
DBIResult iErrCode;
UINT16 iTblNum;
UINT16 iObjNum;
// for old objects iObjNum is the sequence or field number,
// for new objects it is the order in CRTblDesc
RESTErrObjType eRestrObjType;
union
{
FLDDesc fldDesc;
IDXDesc idxDesc;
VCHKDesc vchkDesc;
RINTDesc rintDesc;
SECDesc secDesc;
} uObjDesc;
} RESTCbDesc;
#endif // !defined(MIDL)
typedef struct
{
DBINAME szKeyWord; // Keyword to display
DBIMSG szHelp; // Help String
} CBEntry;
#define MAXCBENTRIES 4
typedef enum
{
cbiMDXMISSING = 1, // MDX file missing request
cbiPDXLOOKUP = 2, // Lookup table missing
cbiPDXBLOB = 3, // Blob file missing
cbiDBTMISSING = 4, // DBT file missing request
cbiDRINPUT = 5 // DR Manager needs user input
} CBInputId; // id's for input requests
typedef struct
{
CBInputId eCbInputId; // Id for this input request
INT16 iCount; // Number of entries
INT16 iSelection; // Selection 1..n (In/Out)
BOOL16 bSave; // Save this option (In/Out)
DBIMSG szMsg; // Message to display
CBEntry acbEntry[MAXCBENTRIES]; // Entries
} CBInputDesc;
typedef struct // dBASE login callback structure
{
DBINAME szUserName; // Login name of user
DBINAME szGroupName; // Group to log in to
DBINAME szUserPassword; // User password
} CBLoginDesc;
typedef CBLoginDesc far * pCBLoginDesc;
//============================================================================
// Basic Query Types
//============================================================================
typedef enum DBIQryLang
{
qrylangUNKNOWN = 0, // UNKNOWN (Error)
qrylangQBE = 1, // QBE
qrylangSQL = 2 // SQL
} DBIQryLang;
//============================================================================
// Statement parameter information
//============================================================================
typedef enum
{
indTRUNC = -2, // Value has been truncated
indNULL = -1, // Value is NULL
indVALUE = 1, //
} eINDValues;
#define INDLEN sizeof (INT16)
typedef enum STMTParamType
{
paramUNKNOWN = 0, // UNKNOWN (Error)
paramIN = 1, // Input parameter
paramOUT = 2, // Output parameter
paramINOUT = 3, // Input/Output parameter
paramRET = 4 // Procedure (or function) return
} STMTParamType;
typedef enum STMTParamFormat
{
paramfmtUNKNOWN = 0, // UNKNOWN (Error)
paramfmtNUMBER = 1, // Numbered parameter markers of the form ? or :n
paramfmtNAME = 2 // Named parameters markers of the form :name
} STMTParamFormat;
//============================================================================
// Properties For DbiQPrepareExt
//============================================================================
#define qprepNONE 0 // like DbiQPrepare
#define qprepFORUPDATE 0x1 // do extra work, anticipating UPDATE WHERE CURRENT
//============================================================================
// Date, Time, Number Formats
//============================================================================
typedef struct // Date Format
{
CHAR cDecimalSeparator; // Default "."
CHAR cThousandSeparator; // Default ","
INT8 iDecimalDigits; // Default 2
INT8 bLeadingZero; // Default TRUE.
} FMTNumber;
typedef FMTNumber far *pFMTNumber;
typedef struct
{
CHAR szDateSeparator[4]; // Default "/"
INT8 iDateMode; // 0 = MDY (Def), 1 = DMY, 2 = YMD
INT8 bFourDigitYear; // Write Year as 4 digits (FALSE)
INT8 bYearBiased; // On input add 1900 to year (TRUE)
INT8 bMonthLeadingZero; // Month with Leading Zero (TRUE)
INT8 bDayLeadingZero; // Day with Leading Zero (TRUE)
} FMTDate;
typ
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -