Delphi Examples: DbiGetFieldTypeDesc

<< Click to Display Table of Contents >>

Navigation:  »No topics above this level«

Delphi Examples: DbiGetFieldTypeDesc

Return to chapter overview

Retrieve a description of the specified field type.

This example uses the following input:

 fDbiGetFieldTypeDesc(szPARADOX, 'PDOX 7.0', 'ALPHA', MyFieldType);

 

The procedure is:

procedure fDbiGetFieldTypeDesc(DriverType, TableType, FieldType: PChar;

var FieldTypeInfo: TStringList);

 

function BoolVal(InBool: Boolean): String;

begin

  if InBool then Result:= 'True'

  else Result:= 'False';

end;

 

var

 FieldTypeRec: FLDType;

begin

 Check(DbiGetFieldTypeDesc(DriverType, TableType, FieldType, FieldTypeRec));

 FieldTypeInfo.Add

   ('Field ID Type: ' + IntToStr(FieldTypeRec.iId));

 FieldTypeInfo.Add('Symbolic Name: ' + StrPas(FieldTypeRec.szName));

 FieldTypeInfo.Add('Descriptive Text: ' + StrPas(FieldTypeRec.szText));

 FieldTypeInfo.Add('Physical / Native Type: ' + IntToStr (FieldTypeRec.iPhyType));

 FieldTypeInfo.Add('Default Translated Type: ' + IntToStr (FieldTypeRec.iXltType));

 FieldTypeInfo.Add('Default Translated Subtype: ' + IntToStr (FieldTypeRec.iXltSubType));

 FieldTypeInfo.Add('Maximum Units Allowed (1): ' + IntToStr (FieldTypeRec.iMaxUnits1));

 FieldTypeInfo.Add('Maximum Units Allowed (2): ' + IntToStr (FieldTypeRec.iMaxUnits2));

 FieldTypeInfo.Add('Physical Size: ' + IntToStr (FieldTypeRec.iPhySize));

 FieldTypeInfo.Add('Field Required: ' + BoolVal(FieldTypeRec.bRequired));

 FieldTypeInfo.Add('Supports user-specified default: ' + BoolVal(FieldTypeRec.bDefaultVal));

 FieldTypeInfo.Add('Supports Min Val constraint: ' + BoolVal(FieldTypeRec.bMinVal));

 FieldTypeInfo.Add('Supports Max Val constraint: ' + BoolVal(FieldTypeRec.bMaxVal));

 FieldTypeInfo.Add('Supports Referential Integerity: ' + BoolVal(FieldTypeRec.bRefIntegrity));

 FieldTypeInfo.Add('Supports Other Checks: ' + BoolVal(FieldTypeRec.bOtherChecks));

 FieldTypeInfo.Add('Can Be Keyed: ' + BoolVal(FieldTypeRec.bKeyed));

 FieldTypeInfo.Add('Multiple Fields of this Type: ' + BoolVal(FieldTypeRec.bMultiplePerTable));

 FieldTypeInfo.Add('Minimum Units Required (1): ' + IntToStr (FieldTypeRec.iMinUnits1));

 FieldTypeInfo.Add('Minimum Units Required (2): ' + IntToStr (FieldTypeRec.iMinUnits2));

 FieldTypeInfo.Add('Field Type Can be Created: ' + BoolVal(FieldTypeRec.bCreateable));

end;