Delphi Examples: DbiGetTableTypeDesc

<< Click to Display Table of Contents >>

Navigation:  »No topics above this level«

Delphi Examples: DbiGetTableTypeDesc

Return to chapter overview

Retrieve a description of the capabilities of the table type

The description is appended to the TStringList passed in. This example uses the following input:

 fDbiGetTableTypeDesc(szPARADOX, 'PDOX 7.0', MyTableInfo);

 fDbiGetTableTypeDesc(szDBASE, 'DBASE5', MyTableInfo);

 fDbiGetTableTypeDesc('INTRBASE', 'INTERBASE', MyTableInfo);

 

The procedure is:

procedure fDbiGetTableTypeDesc(DriverType, TableType: PChar;

var TableTypeInfo: TStringList);

 

function BoolVal(InBool: Boolean): String;

begin

  if InBool then Result:= 'True'

  else Result:= 'False';

end;

 

var

 TableTypeRec: TBLType;

begin

 Check(DbiGetTableTypeDesc(DriverType, TableType, TableTypeRec));

 TableTypeInfo.Add('Table ID: ' + IntToStr(TableTypeRec.iId));

 TableTypeInfo.Add('Name: ' + StrPas(TableTypeRec.szName));

 TableTypeInfo.Add('Text: ' + StrPas(TableTypeRec.szText));

 TableTypeInfo.Add('Format: ' + StrPas(TableTypeRec.szFormat));

 TableTypeInfo.Add('User can Read/Write: ' + BoolVal(TableTypeRec.bReadWrite));

 TableTypeInfo.Add('Can create new tables: ' + BoolVal(TableTypeRec.bCreate));

 TableTypeInfo.Add('Can restructure: ' + BoolVal(TableTypeRec.bRestructure));

 TableTypeInfo.Add('Val Checks can be specified: ' + BoolVal(TableTypeRec.bValChecks));

 TableTypeInfo.Add('Can be protected: ' + BoolVal(TableTypeRec.bSecurity));

 TableTypeInfo.Add('Can participate in ref integrity: ' + BoolVal(TableTypeRec.bRefIntegrity));

 TableTypeInfo.Add('Supports primary key concept: ' + BoolVal(TableTypeRec.bPrimaryKey));

 TableTypeInfo.Add('Can have other indexes: ' + BoolVal(TableTypeRec.bIndexing));

 TableTypeInfo.Add('Number of Phy Field types supported: ' + IntToStr(TableTypeRec.iFldTypes));

 TableTypeInfo.Add('Max record size: ' + IntToStr(TableTypeRec.iMaxRecSize));

 TableTypeInfo.Add('Max fields in a table: ' + IntToStr(TableTypeRec.iMaxFldsInTable));

 TableTypeInfo.Add('Maximum field name length: ' + IntToStr(TableTypeRec.iMaxFldNameLen));

 TableTypeInfo.Add('Driver dependent table level (version): ' + IntToStr(TableTypeRec.iTblLevel));

end;