home *** CD-ROM | disk | FTP | other *** search
/ Delphi 2 - Developers' Solutions / Delphi 2 Developers' Solutions.iso / dds / chap08 / howto04 / delphi10 / drivecap / infotabs.pas < prev   
Encoding:
Pascal/Delphi Source File  |  1996-02-06  |  2.2 KB  |  109 lines

  1. unit Infotabs;
  2.  
  3. { Information Tables: Retrieve BDE Driver Capabilities }
  4.  
  5. interface
  6.  
  7. uses
  8. {$IFDEF WIN32}
  9.   Bde,
  10. {$ELSE}
  11.   DbiProcs, DbiTypes,
  12. {$ENDIF}
  13.   DB, DBTables, Classes, SysUtils;
  14.  
  15. type
  16.  
  17.   TDriverListTable = class( TTable )
  18.   protected
  19.     function CreateHandle: HDBICur; override;
  20.   end;
  21.  
  22.   TTableTypesListTable = class( TTable )
  23.   private
  24.     DriverName: DBINAME;
  25.   protected
  26.     function CreateHandle: HDBICur; override;
  27.   public
  28.     constructor Create( ADriverName: String; AOwner: TComponent );
  29.   end;
  30.  
  31.  
  32.   TFieldTypesListTable = class( TTable )
  33.   private
  34.     DriverName: DBINAME;
  35.   protected
  36.     function CreateHandle: HDBICur; override;
  37.   public
  38.     constructor Create( ADriverName: String; AOwner: TComponent );
  39.   end;
  40.  
  41.  
  42.   TIndexTypesListTable = class( TTable )
  43.   private
  44.     DriverName: DBINAME;
  45.   protected
  46.     function CreateHandle: HDBICur; override;
  47.   public
  48.     constructor Create( ADriverName: String; AOwner: TComponent );
  49.   end;
  50.  
  51. implementation
  52.  
  53. { Implementation of TDriverListTable }
  54. function TDriverListTable.CreateHandle: HDBICur;
  55. begin
  56.   check( DbiOpenDriverList( Result ) );
  57. end;
  58.  
  59.  
  60. { Implementation of TTableTypesListTable }
  61. constructor TTableTypesListTable.create(
  62.   ADriverName: String;
  63.   AOwner: TComponent
  64. );
  65. begin
  66.   inherited create( AOwner );
  67.   StrPCopy( DriverName, ADriverName );
  68. end;
  69.  
  70. function TTableTypesListTable.CreateHandle: HDBICur;
  71. begin
  72.   check( DbiOpenTableTypesList( driverName, Result ));
  73. end;
  74.  
  75.  
  76. { Implementation of TFieldTypesListTable }
  77. constructor TFieldTypesListTable.create(
  78.   ADriverName: String;
  79.   AOwner: TComponent
  80. );
  81. begin
  82.   inherited create( AOwner );
  83.   StrPCopy( DriverName, ADriverName );
  84. end;
  85.  
  86. function TFieldTypesListTable.CreateHandle: HDBICur;
  87. begin
  88.   check( DbiOpenFieldTypesList( driverName, Nil, Result ));
  89. end;
  90.  
  91.  
  92. { Implementation of TIndexTypesListTable }
  93. constructor TIndexTypesListTable.create(
  94.   ADriverName: String;
  95.   AOwner: TComponent
  96. );
  97. begin
  98.   inherited create( AOwner );
  99.   StrPCopy( DriverName, ADriverName );
  100. end;
  101.  
  102. function TIndexTypesListTable.CreateHandle: HDBICur;
  103. begin
  104.   check( DbiOpenIndexTypesList( driverName, Result ));
  105. end;
  106.  
  107.  
  108. end.
  109.