home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Delphi Anthology
/
aDELPHI.iso
/
Runimage
/
Delphi50
/
Doc
/
drintf.int
< prev
next >
Wrap
Text File
|
1999-08-11
|
6KB
|
139 lines
{*******************************************************}
{ }
{ Borland Delphi Visual Component Library }
{ }
{ Copyright (c) 1995,99 Inprise Corporation }
{ }
{*******************************************************}
unit DRIntf;
interface
uses
SysUtils, Windows, Messages, Classes, Graphics, Controls, Forms,
Dialogs, BDE, Db, DBTables;
type
TID = packed record Reserved: array[1..6] of Byte; end;
TDatabaseID = type TID;
TTableID = type TID;
TFieldID = type TID;
TAttrID = type TID;
const
NullID: TID = ();
NullAttrID: TAttrID = ();
NullDatabaseID: TDatabaseID = ();
NullTableID: TTableID = ();
NullFieldID: TFieldID = ();
function DictionaryActive: Boolean;
procedure DictionaryDeactivate;
function CurrentDictionary: HDBIDR;
{ IsIDNull - Returns true if the given ID is a null ID }
function IsNullID(const ID): Boolean;
{ FindDatabaseID - Finds the ID for the given database. Returns NullDatabaseID
the given database is not in the dictionary. }
function FindDatabaseID(const Database: string): TDatabaseID;
{ FindTableID - Finds the ID for the given table in the given database .
Returns NullTableID the given table is not in the dictionary. }
function FindTableID(const Database: TDatabaseID; const Table: string): TTableID;
{ FindFieldID - Find the ID for the given field in the given table.
Returns NullFieldID if the field is not in the dictionary }
function FindFieldID(const Table: TTableID; const Field: string): TFieldID;
{ FindAttrID - Finds the attribute set with the name EFAName. Returns 0
if no attributes set by that name is found }
function FindAttrID(const AttrName: string): TAttrID;
{ GetAttrName - Returns the name of the attribute set AttrID }
function GetAttrName(const AttrID: TAttrID): string;
{ GetAttrNames - Calls Proc with the name of each attribute set in the
dictionary }
procedure GetAttrNames(Proc: TGetStrProc);
{ GetAttrID - Returns the ID of the attribute set associated with the given
field. Returns null if the FieldID is null or is not valid, or if no
attribute set is associated with the field. }
function GetAttrID(const FieldID: TFieldID): TAttrID;
{ NewAttr - Creates a new attribute set from the given field component and
returns AttrID. The new attribute set will inherit values from the
given Parent set, only differences between the sets are recorded. If
Parent is a null string the attribute set is a root attribute set
and all the values in Field are recorded. If FieldID is not 0 then
the new attribute set is associated with the field. }
function NewAttr(Field: TField; const FieldID: TFieldID; const AttrName: string;
const Parent: TAttrID): TAttrID;
{ UpdateAttr - Updates the AttrID attribute set. If field is in the
Field dictionary then it the FieldID for the field should be supplied
since the attributes sets shouldn't store information that is the
matches the attributes field derived from the physical database.
If FieldID is supplied AttrID can be 0 which will update the attribute
set associated with the FieldID }
procedure UpdateAttr(Field: TField; const FieldID: TFieldID;
const AttrID: TAttrID);
{ CreateField - Creates a new field object from the information stored in
the field dictionary. The new field is created owned by Owner and
belonging to Dataset. The type and properties of the field are derived from
the field dictionary information. Both FieldID and AttrID can be 0.
If FieldID is not 0 and AttrID is, the attribute set associated with FieldID
is used. The Origin is the value of the Origin property for the new TField.
This can also be left blank ('') }
function CreateField(Owner: TComponent; Dataset: TDataset; const FullName,
Origin: string; const FieldID: TFieldID; const AttrID: TAttrID): TField;
{ UpdateField - Changes the properties of the given field to match the
attributes given field attribute set }
procedure UpdateField(Field: TField; const FieldID: TFieldID;
const AttrID: TAttrID);
{ AssociateAttr - Associates the given AttrID with the given FieldID }
procedure AssociateAttr(const AttrID: TAttrID; const FieldID: TFieldID);
{ UnassociateAttr - Removes the attribute set association for FieldID }
procedure UnassociateAttr(const FieldID: TFieldID);
{ GetControlClass - Returns the control class to create or '' if no control
class was specified }
function GetControlClass(const AttrID: TAttrID): string;
{ Returns a fully (user name) qualified table name if the database's tables are
stored in the dictionary qualified by user name }
function QualifyTableName(Database: TDatabase; const TableName: string): string;
{ Equivelent to QualifyTableName but first looks up the database by name
after finding the corresponding session. }
function QualifyTableNameByName(const SessionName, DatabaseName, TableName: string): string;
{ Returns whether the dataset has constraints recorded in the dictionary }
function HasConstraints(Dataset: TDBDataset): Boolean;
{ Will remove constraints marked FromDictionary and replace them with the
constraints recorded in the dictionary }
procedure UpdateConstraints(Dataset: TDBDataset; Constraints: TCheckConstraints);
{ UpdateDataset updates the given dataset to the current settings and
constraints in the dataset. For a TTable it will update the fields associated
with that table and all of the constraints for that table. For a query or
stored procedure, it will use the AttributeSet property of the TField's to
determine which attribute set to update the field with. It will also parse
the query to for the associated tables and update the field record constraints
from the included tables. This is progromatically equivilent to using
"Retrieve attributes" for all of the fields in the fields editor followed by
"Read From Dictionary" in the Constraint's property editor. }
procedure UpdateDataset(Dataset: TDBDataset);
implementation