{ TblInfo.pas } program TblInfo; {$IfDef VER80} uses SnipTool, SnipData, SysUtils, WinTypes, WinProcs, DbiProcs, DbiTypes, DbiErrs; {$Else} uses WinTypes, WinCrt, Strings, DbiProcs, DbiTypes, DbiErrs, SnipTool, SnipData; {$EndIf} const szTblName1 = 'orders'; { Name of table } szTblType1 = szPARADOX; { Table type to use. } {===================================================================== Code: TblInfo(); Input: None. Return: None. Description: This example displays information about a table, including: Fields, Indexes, Validity Checks, Referential Integrity, and Security Descriptors. ===================================================================== } var hDb: hDBIDb; { Handle to the Database } hListCur: hDBICur; { Cursor handle used for the lists of information } begin Screen('*** Table Information Example ***'); Screen(' Initializing IDAPI... '); if (InitAndConnect(hDb) <> DBIERR_NONE) then { Terminate example if } begin { Initialization fails } Screen('*** End of Example ***'); exit; end; Screen(' Setting the default Database directory...'); ChkRslt(DbiSetDirectory(hDb, pCHAR(szTblDirectory)), DBIERR_NONE, ' Error - SetDirectory.'); Screen(' Get the fields for the '+szTblName1+' table...'); ChkRslt(DbiOpenFieldList(hDb, pCHAR(szTblName1), pCHAR(szTblType1), FALSE, hListCur), DBIERR_NONE, ' Error - OpenFieldList.'); Screen(' Display the fields of the '+szTblName1+' table as IDAPI types'); DisplayInMemoryTable(hListCur, 0); Screen(''); Screen(' Close the schema table...'); ChkRslt(DbiCloseCursor(hListCur), DBIERR_NONE, ' Error - CloseCursor.'); Screen(' Get the list of indexes on the '+szTblName1+' table...'); ChkRslt(DbiOpenIndexList(hDb, pCHAR(szTblName1), pCHAR(szTblType1), hListCur), DBIERR_NONE, ' Error - OpenIndexList.'); Screen(' Display the indexes on the '+szTblName1+' table...'); DisplayInMemoryTable(hListCur, 0); Screen(''); Screen(' Close the schema table...'); ChkRslt(DbiCloseCursor(hListCur), DBIERR_NONE, ' Error - CloseCursor.'); Screen(' Get the Validity checks for the '+szTblName1+' table...'); ChkRslt(DbiOpenVchkList(hDb, pCHAR(szTblName1), pCHAR(szTblType1), hListCur), DBIERR_NONE, ' Error - OpenVchkList.'); Screen(' Display the Validity checks of the '+szTblName1+' table...'); DisplayInMemoryTable(hListCur, 0); Screen(''); Screen(' Close the schema table...'); ChkRslt(DbiCloseCursor(hListCur), DBIERR_NONE, ' Error - CloseCursor.'); Screen(' Get the Referential Integrity links for the '+szTblName1+ ' table...'); ChkRslt(DbiOpenRintList(hDb, pCHAR(szTblName1), pCHAR(szTblType1), hListCur), DBIERR_NONE, ' Error - OpenRintList.'); Screen(' Display the Referential Integrity links for the '+szTblName1+ ' table...'); DisplayInMemoryTable(hListCur, 0); Screen(''); Screen(' Close the schema table...'); ChkRslt(DbiCloseCursor(hListCur), DBIERR_NONE, ' Error - CloseCursor.'); Screen(' Get the Security descriptors for the '+szTblName1+' table...'); ChkRslt(DbiOpenSecurityList(hDb, pCHAR(szTblName1), pCHAR(szTblType1), hListCur), DBIERR_NONE, ' Error - OpenSecurityList.'); Screen(' Display the Security Descriptors for the '+szTblName1+ ' table...'); DisplayInMemoryTable(hListCur, 0); Screen(''); Screen(' Close the schema table...'); ChkRslt(DbiCloseCursor(hListCur), DBIERR_NONE, ' Error - CloseCursor.'); Screen(' Get the Family list for the '+szTblName1+' table...'); ChkRslt(DbiOpenFamilyList(hDb, pCHAR(szTblName1), pCHAR(szTblType1), hListCur), DBIERR_NONE, ' Error - OpenFamilyList.'); Screen(' Display the Family list for the '+szTblName1+' table...'); DisplayInMemoryTable(hListCur, 0); Screen(''); Screen(' Close the schema table...'); ChkRslt(DbiCloseCursor(hListCur), DBIERR_NONE, ' Error - CloseCursor.'); Screen(' Close the Database and exit IDAPI...'); CloseDbAndExit(hDb); Screen('*** End of Example ***'); end.