//Advanced Delphi Systems Code: ads_COMD
unit ADS_COMD;
{Copyright(c)2016 Advanced Delphi Systems

 Richard Maley
 Advanced Delphi Systems
 12613 Maidens Bower Drive
 Potomac, MD 20854 USA
 phone 301-840-1554
 dickmaley@advdelphisys.com

 The code herein can be used or modified by anyone.  Please retain references
 to Richard Maley at Advanced Delphi Systems.  If you make improvements to the
 code please send your improvements to dickmaley@advdelphisys.com so that the
 entire Delphi community can benefit.  All comments are welcome.
}
(*
UnitIndex Master Index Implementation Section Download Units
Description: ads_COMD.pas
This unit contains the following routines.

TCommonDialog_ads.AfterExecute   TCommonDialog_ads.ApplyChangesChange   TCommonDialog_ads.BeforeExecute   TCommonDialog_ads.BeveledChange   TCommonDialog_ads.BorderStyleChange   TCommonDialog_ads.ButtonsAlignmentChange  TCommonDialog_ads.ButtonSpacerChange   TCommonDialog_ads.ButtonsResizeChange   TCommonDialog_ads.ButtonWidthChange   TCommonDialog_ads.ColorOfFormChange   TCommonDialog_ads.CreateStandard   TCommonDialog_ads.CreateStandardDB   TCommonDialog_ads.DatabaseNameChange   TCommonDialog_ads.DataBaseNameDestChange  TCommonDialog_ads.DataBaseNameSrcChange   TCommonDialog_ads.DataFieldChange   TCommonDialog_ads.DataFieldDestChange   TCommonDialog_ads.DataFieldSetChange   TCommonDialog_ads.DataFieldSetDestChange  TCommonDialog_ads.DataFieldSetSrcChange   TCommonDialog_ads.DataFieldSrcChange   TCommonDialog_ads.DataSetChange   TCommonDialog_ads.DataSourceChange   TCommonDialog_ads.ExecuteStandard   TCommonDialog_ads.FontChange   TCommonDialog_ads.HeightChange   TCommonDialog_ads.MaximizedChange   TCommonDialog_ads.MinFormHeightChange   TCommonDialog_ads.MinFormWidthChange   TCommonDialog_ads.ModalChange   TCommonDialog_ads.ModifyDataSetChange   TCommonDialog_ads.PanelBevel   TCommonDialog_ads.QueryChange   TCommonDialog_ads.SetBeveled_ads   TCommonDialog_ads.SetBorderStyle   TCommonDialog_ads.SetButtonsAlignment   TCommonDialog_ads.SetButtonSpacer   TCommonDialog_ads.SetButtonsResize   TCommonDialog_ads.SetButtonWidth   TCommonDialog_ads.SetColorOfForm   TCommonDialog_ads.SetDatabaseName   TCommonDialog_ads.SetDataBaseNameDest   TCommonDialog_ads.SetDataBaseNameSrc   TCommonDialog_ads.SetDataField   TCommonDialog_ads.SetDataFieldDest   TCommonDialog_ads.SetDataFieldSet   TCommonDialog_ads.SetDataFieldSetDest   TCommonDialog_ads.SetDataFieldSetSrc   TCommonDialog_ads.SetDataFieldSrc   TCommonDialog_ads.SetDataSet   TCommonDialog_ads.SetDataSource   TCommonDialog_ads.SetFont   TCommonDialog_ads.SetHeight   TCommonDialog_ads.SetMaximized   TCommonDialog_ads.SetMinFormHeight   TCommonDialog_ads.SetMinFormWidth   TCommonDialog_ads.SetModifyDataSet   TCommonDialog_ads.SetQuery   TCommonDialog_ads.SetShowHint   TCommonDialog_ads.SetTable   TCommonDialog_ads.SetTableName   TCommonDialog_ads.SetTableNameDest   TCommonDialog_ads.SetTableNameSet   TCommonDialog_ads.SetTableNameSetDest   TCommonDialog_ads.SetTableNameSetSrc   TCommonDialog_ads.SetTableNameSrc   TCommonDialog_ads.SetTitle   TCommonDialog_ads.SetWidth   TCommonDialog_ads.ShowHintChange   TCommonDialog_ads.TableChange   TCommonDialog_ads.TableNameChange   TCommonDialog_ads.TableNameDestChange   TCommonDialog_ads.TableNameSetChange   TCommonDialog_ads.TableNameSetDestChange  TCommonDialog_ads.TableNameSetSrcChange   TCommonDialog_ads.TableNameSrcChange   TCommonDialog_ads.TitleChange   TCommonDialog_ads.WidthChange  

*)
interface

uses
  Classes, SysUtils, Graphics, Controls, Forms, ExtCtrls, DB, DBTables,
  Cmp_Sec;

type
{!~
The TTableNameSet_ads class is a decendent of TStringList.  This class is  ...
used to store the elements of a TableName connection, i.e., TableName,  ...
and DatabaseName (in that order).
}
  TTableNameSet_ads = class(TStringList);
{!~
The TDataFieldSet_ads class is a decendent of TStringList.  This class is  ...
used to store the elements of a DataField connection, i.e., DataField,  ...
TableName, and DatabaseName (in that order).
}
  TDataFieldSet_ads = class(TStringList);
type
{!~
TCommonDialog_ads is the base class for all Advanced Delphi Systems dialog  ...
components.
}
  TCommonDialog_ads = class(TComponent)  {the component Name}
  private
    {Standard Private Variable Declarations }
    FFont              : TFont;         {Sets the Form font property}
    FTitle             : String;        {stores the Dialog Title}
    FColorOfForm       : TColor;        {Stores Dialog Background Color}
    FBeveled           : Boolean;       {Turns Beveling On and Off}
    FModal             : Boolean;       {Set Modal property of form}
    FBorderStyle       : TFormBorderStyle; { Sets the dialog borderstyle}
    FHeight            : Integer;       {Sets the height of the form}
    FWidth             : Integer;       {Sets the Width of the form}
    FMaximized         : Boolean;       {Sets Form to wsMaximized or wsNormal}
    FButtonsResize     : Boolean;       {True causes the buttons to resize}
    FButtonsAlignment  : TAlignment;    {Sets Alignment of Buttons}
    FButtonWidth       : Integer;       {Sets Button Widths}
    FButtonSpacer      : Integer;       {Sets Button Spacer Width}
    FApplyChanges      : Boolean;       {True if changes should be made. = mrOk}
    FShowHint          : Boolean;       {True if hints should be shown}
    FMinFormWidth      : Integer;       {Sets a Minimum FormWidth}
    FMinFormHeight     : Integer;       {Sets a Minimum FormHeight}

    {Standard Database Private Variable Declarations }
    FTableNameSet       : TTableNameSet_ads;   {TableName, DataBaseName}
    FTableNameSetSrc    : TTableNameSet_ads;   {TableName, DataBaseName for Source}
    FTableNameSetDest   : TTableNameSet_ads;   {TableName, DataBaseName for Dest}
    FDataFieldSet       : TDataFieldSet_ads;   {TableName, DataBaseName, DataField}
    FDataFieldSetSrc    : TDataFieldSet_ads;   {TableName, DataBaseName, DataField
                                               for Source}
    FDataFieldSetDest   : TDataFieldSet_ads;   {TableName, DataBaseName, DataField
                                               for Dest}

    {Standard Property Change Events}
    FOnBeforeExecute         : TNotifyEvent;  {Event occurs prior to the execute method}
    FOnAfterExecute          : TNotifyEvent;  {Event occurs after to the execute method}
    FOnFontChange            : TNotifyEvent;  {Sets the Form font property}
    FOnTitleChange           : TNotifyEvent;  {stores the Dialog Title}
    FOnColorOfFormChange     : TNotifyEvent;  {Stores Dialog Background Color}
    FOnBeveledChange         : TNotifyEvent;  {Turns Beveling On and Off}
    FOnModalChange           : TNotifyEvent;  {Set Modal property of form}
    FOnBorderStyleChange     : TNotifyEvent;  {Sets the dialog borderstyle}
    FOnHeightChange          : TNotifyEvent;  {Sets the height of the form}
    FOnWidthChange           : TNotifyEvent;  {Sets the Width of the form}
    FOnMaximizedChange       : TNotifyEvent;  {Sets Form to wsMaximized or wsNormal}
    FOnButtonsResizeChange   : TNotifyEvent;  {True causes the buttons to resize}
    FOnButtonsAlignmentChange: TNotifyEvent;  {Sets Alignment of Buttons}
    FOnButtonWidthChange     : TNotifyEvent;  {Sets Button Widths}
    FOnButtonSpacerChange    : TNotifyEvent;  {Sets Button Spacer Width}
    FOnApplyChangesChange    : TNotifyEvent;  {True if changes should be made. = mrOk}
    FOnShowHintChange        : TNotifyEvent;  {True if hints should be shown}
    FOnMinFormWidthChange    : TNotifyEvent;  {Sets a Minimum FormWidth}
    FOnMinFormHeightChange   : TNotifyEvent;  {Sets a Minimum FormHeight}

    {Database Events}
    FOnTableNameSetChange    : TNotifyEvent;   {TableName, DataBaseName}
    FOnTableNameSetSrcChange : TNotifyEvent;   {TableName, DataBaseName for Source}
    FOnTableNameSetDestChange: TNotifyEvent;   {TableName, DataBaseName for Dest}
    FOnDataFieldSetChange    : TNotifyEvent;   {TableName, DataBaseName, DataField}
    FOnDataFieldSetSrcChange : TNotifyEvent;   {TableName, DataBaseName, DataField
                                               for Source}
    FOnDataFieldSetDestChange: TNotifyEvent;   {TableName, DataBaseName, DataField
                                               for Dest}
    FOnDatabaseNameChange    : TNotifyEvent;
    FOnTableNameChange       : TNotifyEvent;
    FOnDataFieldChange       : TNotifyEvent;

    FOnDataBaseNameSrcChange : TNotifyEvent;
    FOnTableNameSrcChange    : TNotifyEvent;
    FOnDataFieldSrcChange    : TNotifyEvent;
    FOnDataBaseNameDestChange: TNotifyEvent;
    FOnTableNameDestChange   : TNotifyEvent;
    FOnDataFieldDestChange   : TNotifyEvent;

    FOnTableChange           : TNotifyEvent;
    FOnModifyDataSetChange   : TNotifyEvent;
    FOnQueryChange           : TNotifyEvent;
    FOnDataSetChange         : TNotifyEvent;
    FOnDataSourceChange      : TNotifyEvent;

    {Source & Dest TableNames & DataFields}
    FDatabaseName      : TFileName;
    FTableName         : TFileName;
    FDataField         : String;

    FDataBaseNameSrc   : TFileName;
    FTableNameSrc      : TFileName;
    FDataFieldSrc      : String;
    FDataBaseNameDest  : TFileName;
    FTableNameDest     : TFileName;
    FDataFieldDest     : String;

    FTable             : TTable;
    FModifyDataSet     : Boolean;
    FQuery             : TQuery;
    FDataSet           : TDataSet;
    FDataSource        : TDataSource;

    {Unique Private Variable Declarations }

    {Standard procedures and functions}
    Procedure SetFont(Value : TFont);                   {Sets the Form font property}
    Procedure SetTitle(Value : String);                 {stores the Dialog Title}
    Procedure SetColorOfForm(Value : TColor);           {Stores Dialog Background Color}
    Procedure SetBeveled_ads(Value : Boolean);          {Turns Beveling On and Off}
    //Procedure SetModal(Value : Boolean);                {Set Modal property of form}
    Procedure SetBorderStyle(Value : TFormBorderStyle); { Sets the dialog borderstyle}
    Procedure SetHeight(Value : Integer);               {Sets the height of the form}
    Procedure SetWidth(Value : Integer);                {Sets the Width of the form}
    Procedure SetMaximized(Value : Boolean);            {Sets Form to wsMaximized or wsNormal}
    Procedure SetButtonsResize(Value : Boolean);        {True causes the buttons to resize}
    Procedure SetButtonsAlignment(Value : TAlignment);  {Sets Alignment of Buttons}
    Procedure SetButtonWidth(Value : Integer);          {Sets Button Widths}
    Procedure SetButtonSpacer(Value : Integer);         {Sets Button Spacer Width}
    //Procedure SetApplyChanges(Value : Boolean);         {True if changes should be made. = mrOk}
    Procedure SetShowHint(Value : Boolean);             {True if hints should be shown}
    Procedure SetMinFormWidth(Value : Integer);         {Sets a Minimum FormWidth}
    Procedure SetMinFormHeight(Value : Integer);        {Sets a Minimum FormHeight}

    {Unique procedures and functions}
    procedure SetDatabaseName(Value: TFileName);
    procedure SetTableName(Value: TFileName);
    procedure SetDataField(Value: String);
    procedure SetTable(Value: TTable);
    procedure SetModifyDataSet(Value: Boolean);
    procedure SetQuery(Value: TQuery);
    procedure SetDataSet(Value: TDataSet);

    procedure SetTableNameSet(Value: TTableNameSet_ads);     {Sets TableName, DataBaseName}
    procedure SetTableNameSetSrc(Value: TTableNameSet_ads);  {TableName, DataBaseName for Source}
    procedure SetTableNameSetDest(Value: TTableNameSet_ads); {TableName, DataBaseName for Dest}
    procedure SetDataFieldSet(Value: TDataFieldSet_ads);     {TableName, DataBaseName, DataField}
    procedure SetDataFieldSetSrc(Value: TDataFieldSet_ads);  {TableName, DataBaseName, DataField for Source}
    procedure SetDataFieldSetDest(Value: TDataFieldSet_ads); {TableName, DataBaseName, DataField for Dest}
    procedure SetDataBaseNameSrc(Value: TFileName);          {Sets Source DatabaseName}
    procedure SetTableNameSrc(Value: TFileName);             {Sets Source TableName}
    procedure SetDataFieldSrc(Value: String);                {Sets Source DataField}
    procedure SetDataBaseNameDest(Value: TFileName);         {Sets Dest DatabaseName}
    procedure SetTableNameDest(Value: TFileName);            {Sets Dest TableName}
    procedure SetDataFieldDest(Value: String);               {Sets Dest DataField}
    procedure SetDataSource(Value: TDataSource);             {Sets Dest DataField}
  protected

{!~ The BeforeExecute event occurs before the component's dialog is displayed.

Example:
The following event handler simply informs the user that the ...
BeforeExecute event is being triggered.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1BeforeExecute(Sender: TObject);
begin
  Inherited ...
BeforeExecute;
  ShowMessage('The BeforeExecute event has been triggered.');
end;
}
Procedure BeforeExecute          ; Virtual;
{!~ The AfterExecute event occurs after the component's dialog is displayed.

Example:
The following event handler simply informs the user that the ...
AfterExecute event is being triggered.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1AfterExecute(Sender: TObject);
begin
  Inherited AfterExecute;
  ShowMessage('The AfterExecute event has been triggered.');
end;
}
Procedure AfterExecute          ; Virtual;

{zzz}
{!~ The FontChange event occurs after the component's ...
Font property is changed.

Example:
The following event handler simply informs the user that the ...
Font property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1FontChange(Sender: TObject);
begin
  Inherited FontChange;
  ShowMessage('The Font property just changed.');
end;
}
Procedure FontChange            ; Virtual;
{!~ The TitleChange event occurs after the component's ...
Title property is changed.

Example:
The following event handler simply informs the user that the ...
Title property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1TitleChange(Sender: TObject);
begin
  Inherited TitleChange;
  ShowMessage('The Title property just changed.');
end;
}
Procedure TitleChange           ; Virtual;
{!~ The ColorOfFormChange event occurs after the component's ...
ColorOfForm property is changed.

Example:
The following event handler simply informs the user that the ...
ColorOfForm property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1ColorOfFormChange(Sender: TObject);
begin
  Inherited ColorOfFormChange;
  ShowMessage('The ColorOfForm property just changed.');
end;
}
Procedure ColorOfFormChange     ; Virtual;
{!~ The BeveledChange event occurs after the component's ...
Beveled property is changed.

Example:
The following event handler simply informs the user that the ...
Beveled property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1BeveledChange(Sender: TObject);
begin
  Inherited BeveledChange;
  ShowMessage('The Beveled property just changed.');
end;
}
Procedure BeveledChange         ; Virtual;
{!~ The ModalChange event occurs after the component's ...
Modal property is changed.

Example:
The following event handler simply informs the user that the ...
Modal property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1ModalChange(Sender: TObject);
begin
  Inherited ModalChange;
  ShowMessage('The Modal property just changed.');
end;
}
Procedure ModalChange           ; Virtual;
{!~ The BorderStyleChange event occurs after the component's ...
BorderStyle property is changed.

Example:
The following event handler simply informs the user that the ...
BorderStyle property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1BorderStyleChange(Sender: TObject);
begin
  Inherited BorderStyleChange;
  ShowMessage('The BorderStyle property just changed.');
end;
}
Procedure BorderStyleChange     ; Virtual;
{!~ The HeightChange event occurs after the component's ...
Height property is changed.

Example:
The following event handler simply informs the user that the ...
Height property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1HeightChange(Sender: TObject);
begin
  Inherited HeightChange;
  ShowMessage('The Height property just changed.');
end;
}
Procedure HeightChange          ; Virtual;
{!~ The WidthChange event occurs after the component's ...
Width property is changed.

Example:
The following event handler simply informs the user that the ...
Width property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1WidthChange(Sender: TObject);
begin
  Inherited WidthChange;
  ShowMessage('The Width property just changed.');
end;
}
Procedure WidthChange           ; Virtual;
{!~ The MaximizedChange event occurs after the component's ...
Maximized property is changed.

Example:
The following event handler simply informs the user that the ...
Maximized property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1MaximizedChange(Sender: TObject);
begin
  Inherited MaximizedChange;
  ShowMessage('The Maximized property just changed.');
end;
}
Procedure MaximizedChange       ; Virtual;
{!~ The ButtonsResizeChange event occurs after the component's ...
ButtonsResize property is changed.

Example:
The following event handler simply informs the user that the ...
ButtonsResize property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1ButtonsResizeChange(Sender: TObject);
begin
  Inherited ButtonsResizeChange;
  ShowMessage('The ButtonsResize property just changed.');
end;
}
Procedure ButtonsResizeChange   ; Virtual;
{!~ The ButtonsAlignmentChange event occurs after the component's ...
ButtonsAlignment property is changed.

Example:
The following event handler simply informs the user that the ...
ButtonsAlignment property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1ButtonsAlignmentChange(Sender: TObject);
begin
  Inherited ButtonsAlignmentChange;
  ShowMessage('The ButtonsAlignment property just changed.');
end;
}
Procedure ButtonsAlignmentChange; Virtual;
{!~ The ButtonWidthChange event occurs after the component's ...
ButtonWidth property is changed.

Example:
The following event handler simply informs the user that the ...
ButtonWidth property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1ButtonWidthChange(Sender: TObject);
begin
  Inherited ButtonWidthChange;
  ShowMessage('The ButtonWidth property just changed.');
end;
}
Procedure ButtonWidthChange     ; Virtual;
{!~ The ButtonSpacerChange event occurs after the component's ...
ButtonSpacer property is changed.

Example:
The following event handler simply informs the user that the ...
ButtonSpacer property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1ButtonSpacerChange(Sender: TObject);
begin
  Inherited ButtonSpacerChange;
  ShowMessage('The ButtonSpacer property just changed.');
end;
}
Procedure ButtonSpacerChange    ; Virtual;
{!~ The ApplyChangesChange event occurs after the component's ...
ApplyChanges property is changed.

Example:
The following event handler simply informs the user that the ...
ApplyChanges property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1ApplyChangesChange(Sender: TObject);
begin
  Inherited ApplyChangesChange;
  ShowMessage('The ApplyChanges property just changed.');
end;
}
Procedure ApplyChangesChange    ; Virtual;
{!~ The ShowHintChange event occurs after the component's ...
ShowHint property is changed.

Example:
The following event handler simply informs the user that the ...
ShowHint property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1ShowHintChange(Sender: TObject);
begin
  Inherited ShowHintChange;
  ShowMessage('The ShowHint property just changed.');
end;
}
Procedure ShowHintChange        ; Virtual;
{!~ The MinFormWidthChange event occurs after the component's ...
MinFormWidth property is changed.

Example:
The following event handler simply informs the user that the ...
MinFormWidth property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1MinFormWidthChange(Sender: TObject);
begin
  Inherited MinFormWidthChange;
  ShowMessage('The MinFormWidth property just changed.');
end;
}
Procedure MinFormWidthChange    ; Virtual;
{!~ The MinFormHeightChange event occurs after the component's ...
MinFormHeight property is changed.

Example:
The following event handler simply informs the user that the ...
MinFormHeight property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1MinFormHeightChange(Sender: TObject);
begin
  Inherited MinFormHeightChange;
  ShowMessage('The MinFormHeight property just changed.');
end;
}
Procedure MinFormHeightChange   ; Virtual;
{!~ The TableNameSetChange event occurs after the component's ...
TableNameSet property is changed.

Example:
The following event handler simply informs the user that the ...
TableNameSet property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1TableNameSetChange(Sender: TObject);
begin
  Inherited TableNameSetChange;
  ShowMessage('The TableNameSet property just changed.');
end;
}
Procedure TableNameSetChange    ; Virtual;
{!~ The TableNameSetSrcChange event occurs after the component's ...
TableNameSetSrc property is changed.

Example:
The following event handler simply informs the user that the ...
TableNameSetSrc property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1TableNameSetSrcChange(Sender: TObject);
begin
  Inherited TableNameSetSrcChange;
  ShowMessage('The TableNameSetSrc property just changed.');
end;
}
Procedure TableNameSetSrcChange ; Virtual;
{!~ The TableNameSetDestChange event occurs after the component's ...
TableNameSetDest property is changed.

Example:
The following event handler simply informs the user that the ...
TableNameSetDest property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1TableNameSetDestChange(Sender: TObject);
begin
  Inherited TableNameSetDestChange;
  ShowMessage('The TableNameSetDest property just changed.');
end;
}
Procedure TableNameSetDestChange; Virtual;
{!~ The DataFieldSetChange event occurs after the component's ...
DataFieldSet property is changed.

Example:
The following event handler simply informs the user that the ...
DataFieldSet property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DataFieldSetChange(Sender: TObject);
begin
  Inherited DataFieldSetChange;
  ShowMessage('The DataFieldSet property just changed.');
end;
}
Procedure DataFieldSetChange    ; Virtual;
{!~ The DataFieldSetSrcChange event occurs after the component's ...
DataFieldSetSrc property is changed.

Example:
The following event handler simply informs the user that the ...
DataFieldSetSrc property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DataFieldSetSrcChange(Sender: TObject);
begin
  Inherited DataFieldSetSrcChange;
  ShowMessage('The DataFieldSetSrc property just changed.');
end;
}
Procedure DataFieldSetSrcChange ; Virtual;
{!~ The DataFieldSetDestChange event occurs after the component's ...
DataFieldSetDest property is changed.

Example:
The following event handler simply informs the user that the ...
DataFieldSetDest property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DataFieldSetDestChange(Sender: TObject);
begin
  Inherited DataFieldSetDestChange;
  ShowMessage('The DataFieldSetDest property just changed.');
end;
}
Procedure DataFieldSetDestChange; Virtual;
{!~ The DatabaseNameChange event occurs after the component's ...
DatabaseName property is changed.

Example:
The following event handler simply informs the user that the ...
DatabaseName property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DatabaseNameChange(Sender: TObject);
begin
  Inherited DatabaseNameChange;
  ShowMessage('The DatabaseName property just changed.');
end;
}
Procedure DatabaseNameChange    ; Virtual;
{!~ The TableNameChange event occurs after the component's ...
TableName property is changed.

Example:
The following event handler simply informs the user that the ...
TableName property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1TableNameChange(Sender: TObject);
begin
  Inherited TableNameChange;
  ShowMessage('The TableName property just changed.');
end;
}
Procedure TableNameChange       ; Virtual;
{!~ The DataFieldChange event occurs after the component's ...
DataField property is changed.

Example:
The following event handler simply informs the user that the ...
DataField property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DataFieldChange(Sender: TObject);
begin
  Inherited DataFieldChange;
  ShowMessage('The DataField property just changed.');
end;
}
Procedure DataFieldChange       ; Virtual;
{!~ The DataBaseNameSrcChange event occurs after the component's ...
DataBaseNameSrc property is changed.

Example:
The following event handler simply informs the user that the ...
DataBaseNameSrc property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DataBaseNameSrcChange(Sender: TObject);
begin
  Inherited DataBaseNameSrcChange;
  ShowMessage('The DataBaseNameSrc property just changed.');
end;
}
Procedure DataBaseNameSrcChange ; Virtual;
{!~ The TableNameSrcChange event occurs after the component's ...
TableNameSrc property is changed.

Example:
The following event handler simply informs the user that the ...
TableNameSrc property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1TableNameSrcChange(Sender: TObject);
begin
  Inherited TableNameSrcChange;
  ShowMessage('The TableNameSrc property just changed.');
end;
}
Procedure TableNameSrcChange    ; Virtual;
{!~ The DataFieldSrcChange event occurs after the component's ...
DataFieldSrc property is changed.

Example:
The following event handler simply informs the user that the ...
DataFieldSrc property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DataFieldSrcChange(Sender: TObject);
begin
  Inherited DataFieldSrcChange;
  ShowMessage('The DataFieldSrc property just changed.');
end;
}
Procedure DataFieldSrcChange    ; Virtual;
{!~ The DataBaseNameDestChange event occurs after the component's ...
DataBaseNameDest property is changed.

Example:
The following event handler simply informs the user that the ...
DataBaseNameDest property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DataBaseNameDestChange(Sender: TObject);
begin
  Inherited DataBaseNameDestChange;
  ShowMessage('The DataBaseNameDest property just changed.');
end;
}
Procedure DataBaseNameDestChange; Virtual;
{!~ The TableNameDestChange event occurs after the component's ...
TableNameDest property is changed.

Example:
The following event handler simply informs the user that the ...
TableNameDest property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1TableNameDestChange(Sender: TObject);
begin
  Inherited TableNameDestChange;
  ShowMessage('The TableNameDest property just changed.');
end;
}
Procedure TableNameDestChange   ; Virtual;
{!~ The DataFieldDestChange event occurs after the component's ...
DataFieldDest property is changed.

Example:
The following event handler simply informs the user that the ...
DataFieldDest property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DataFieldDestChange(Sender: TObject);
begin
  Inherited DataFieldDestChange;
  ShowMessage('The DataFieldDest property just changed.');
end;
}
Procedure DataFieldDestChange   ; Virtual;
{!~ The TableChange event occurs after the component's ...
Table property is changed.

Example:
The following event handler simply informs the user that the ...
Table property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1TableChange(Sender: TObject);
begin
  Inherited TableChange;
  ShowMessage('The Table property just changed.');
end;
}
Procedure TableChange           ; Virtual;
{!~ The ModifyDataSetChange event occurs after the component's ...
ModifyDataSet property is changed.

Example:
The following event handler simply informs the user that the ...
ModifyDataSet property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1ModifyDataSetChange(Sender: TObject);
begin
  Inherited ModifyDataSetChange;
  ShowMessage('The ModifyDataSet property just changed.');
end;
}
Procedure ModifyDataSetChange   ; Virtual;
{!~ The QueryChange event occurs after the component's ...
Query property is changed.

Example:
The following event handler simply informs the user that the ...
Query property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1QueryChange(Sender: TObject);
begin
  Inherited QueryChange;
  ShowMessage('The Query property just changed.');
end;
}
Procedure QueryChange           ; Virtual;
{!~ The DataSetChange event occurs after the component's ...
DataSet property is changed.

Example:
The following event handler simply informs the user that the ...
DataSet property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DataSetChange(Sender: TObject);
begin
  Inherited DataSetChange;
  ShowMessage('The DataSet property just changed.');
end;
}
Procedure DataSetChange         ; Virtual;
{!~ The DataSourceChange event occurs after the component's ...
DataSource property is changed.

Example:
The following event handler simply informs the user that the ...
DataSource property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DataSourceChange(Sender: TObject);
begin
  Inherited DataSourceChange;
  ShowMessage('The DataSource property just changed.');
end;
}
Procedure DataSourceChange      ; Virtual;
{!~ The OnModalChange event occurs after the component's ...
Modal property is changed.

Example:
The following event handler simply informs the user that the ...
Modal
property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1
ModalChange
Change(Sender: TObject);
begin
  Inherited
Modal
Change;
  ShowMessage('The
Modal
 property just changed.');
end;
}
Property OnModalChange           : TNotifyEvent
  Read   FOnModalChange
  Write  FOnModalChange;
{!~ The OnApplyChangesChange event occurs after the component's ...
ApplyChanges property is changed.

Example:
The following event handler simply informs the user that the ...
ApplyChanges property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1ApplyChangesChange(Sender: TObject);
begin
  Inherited ApplyChangesChange;
  ShowMessage('The ApplyChanges property just changed.');
end;
}
Property OnApplyChangesChange    : TNotifyEvent
  Read   FOnApplyChangesChange
  Write  FOnApplyChangesChange;
{!~ The OnTableNameSetChange event occurs after the component's..
TableNameSet property is changed.

Example:
The following event handler simply informs the user that the ...
TableNameSet property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1TableNameSetChange(Sender: TObject);
begin
  Inherited TableNameSetChange;
  ShowMessage('The TableNameSet property just changed.');
end;
}
Property OnTableNameSetChange    : TNotifyEvent
  Read   FOnTableNameSetChange
  Write  FOnTableNameSetChange;
{!~ The OnTableNameSetSrcChange event occurs after the component's ...
TableNameSetSrc property is changed.

Example:
The following event handler simply informs the user that the ...
TableNameSetSrc property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1TableNameSetSrcChange(Sender: TObject);
begin
  Inherited TableNameSetSrcChange;
  ShowMessage('The TableNameSetSrc property just changed.');
end;
}
Property OnTableNameSetSrcChange : TNotifyEvent
  Read   FOnTableNameSetSrcChange
  Write  FOnTableNameSetSrcChange;
{!~ The OnTableNameSetDestChange event occurs after the component's ...
TableNameSetDest property is changed.

Example:
The following event handler simply informs the user that the ...
TableNameSetDest property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1TableNameSetDestChange(Sender: TObject);
begin
  Inherited TableNameSetDestChange;
  ShowMessage('The TableNameSetDest property just changed.');
end;
}
Property OnTableNameSetDestChange: TNotifyEvent
  Read   FOnTableNameSetDestChange
  Write  FOnTableNameSetDestChange;
{!~ The OnDataFieldSetChange event occurs after the component's ...
DataFieldSet property is changed.

Example:
The following event handler simply informs the user that the ...
DataFieldSet property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DataFieldSetChange(Sender: TObject);
begin
  Inherited DataFieldSetChange;
  ShowMessage('The DataFieldSet property just changed.');
end;
}
Property OnDataFieldSetChange    : TNotifyEvent
  Read   FOnDataFieldSetChange
  Write  FOnDataFieldSetChange;
{!~ The OnDataFieldSetSrcChange event occurs after the component's ...
DataFieldSetSrc property is changed.

Example:
The following event handler simply informs the user that the ...
DataFieldSetSrc property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DataFieldSetSrcChange(Sender: TObject);
begin
  Inherited DataFieldSetSrcChange;
  ShowMessage('The DataFieldSetSrc property just changed.');
end;
}
Property OnDataFieldSetSrcChange : TNotifyEvent
  Read   FOnDataFieldSetSrcChange
  Write  FOnDataFieldSetSrcChange;
{!~ The OnDataFieldSetDestChange event occurs after the component's ...
DataFieldSetDest property is changed.

Example:
The following event handler simply informs the user that the ...
DataFieldSetDest property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DataFieldSetDestChange(Sender: TObject);
begin
  Inherited DataFieldSetDestChange;
  ShowMessage('The DataFieldSetDest property just changed.');
end;
}
Property OnDataFieldSetDestChange: TNotifyEvent
  Read   FOnDataFieldSetDestChange
  Write  FOnDataFieldSetDestChange;
{!~ The OnDatabaseNameChange event occurs after the component's ...
DatabaseName property is changed.

Example:
The following event handler simply informs the user that the ...
DatabaseName property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DatabaseNameChange(Sender: TObject);
begin
  Inherited DatabaseNameChange;
  ShowMessage('The DatabaseName property just changed.');
end;
}
Property OnDatabaseNameChange    : TNotifyEvent
  Read   FOnDatabaseNameChange
  Write  FOnDatabaseNameChange;
{!~ The OnTableNameChange event occurs after the component's ...
TableName property is changed.

Example:
The following event handler simply informs the user that the ...
TableName property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1TableNameChange(Sender: TObject);
begin
  Inherited TableNameChange;
  ShowMessage('The TableName property just changed.');
end;
}
Property OnTableNameChange       : TNotifyEvent
  Read   FOnTableNameChange
  Write  FOnTableNameChange;
{!~ The OnDataFieldChange event occurs after the component's ...
DataField property is changed.

Example:
The following event handler simply informs the user that the ...
DataField property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DataFieldChange(Sender: TObject);
begin
  Inherited DataFieldChange;
  ShowMessage('The DataField property just changed.');
end;
}
Property OnDataFieldChange       : TNotifyEvent
  Read   FOnDataFieldChange
  Write  FOnDataFieldChange;
{!~ The OnDataBaseNameSrcChange event occurs after the component's ...
DataBaseNameSrc property is changed.

Example:
The following event handler simply informs the user that the ...
DataBaseNameSrc property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DataBaseNameSrcChange(Sender: TObject);
begin
  Inherited DataBaseNameSrcChange;
  ShowMessage('The DataBaseNameSrc property just changed.');
end;
}
Property OnDataBaseNameSrcChange : TNotifyEvent
  Read   FOnDataBaseNameSrcChange
  Write  FOnDataBaseNameSrcChange;
{!~ The OnTableNameSrcChange event occurs after the component's ...
TableNameSrc property is changed.

Example:
The following event handler simply informs the user that the ...
TableNameSrc property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1TableNameSrcChange(Sender: TObject);
begin
  Inherited TableNameSrcChange;
  ShowMessage('The TableNameSrc property just changed.');
end;
}
Property OnTableNameSrcChange    : TNotifyEvent
  Read   FOnTableNameSrcChange
  Write  FOnTableNameSrcChange;
{!~ The OnDataFieldSrcChange event occurs after the component's ...
DataFieldSrc property is changed.

Example:
The following event handler simply informs the user that the ...
DataFieldSrc property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DataFieldSrcChange(Sender: TObject);
begin
  Inherited DataFieldSrcChange;
  ShowMessage('The DataFieldSrc property just changed.');
end;
}
Property OnDataFieldSrcChange    : TNotifyEvent
  Read   FOnDataFieldSrcChange
  Write  FOnDataFieldSrcChange;
{!~ The OnDataBaseNameDestChange event occurs after the component's ...
DataBaseNameDest property is changed.

Example:
The following event handler simply informs the user that the ...
DataBaseNameDest property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DataBaseNameDestChange(Sender: TObject);
begin
  Inherited DataBaseNameDestChange;
  ShowMessage('The DataBaseNameDest property just changed.');
end;
}
Property OnDataBaseNameDestChange: TNotifyEvent
  Read   FOnDataBaseNameDestChange
  Write  FOnDataBaseNameDestChange;
{!~ The OnTableNameDestChange event occurs after the component's ...
TableNameDest property is changed.

Example:
The following event handler simply informs the user that the ...
TableNameDest property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1TableNameDestChange(Sender: TObject);
begin
  Inherited TableNameDestChange;
  ShowMessage('The TableNameDest property just changed.');
end;
}
Property OnTableNameDestChange   : TNotifyEvent
  Read   FOnTableNameDestChange
  Write  FOnTableNameDestChange;
{!~ The OnDataFieldDestChange event occurs after the component's ...
DataFieldDest property is changed.

Example:
The following event handler simply informs the user that the ...
DataFieldDest property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DataFieldDestChange(Sender: TObject);
begin
  Inherited DataFieldDestChange;
  ShowMessage('The DataFieldDest property just changed.');
end;
}
Property OnDataFieldDestChange   : TNotifyEvent
  Read   FOnDataFieldDestChange
  Write  FOnDataFieldDestChange;
{!~ The OnTableChange event occurs after the component's ...
Table property is changed.

Example:
The following event handler simply informs the user that the ...
Table property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1TableChange(Sender: TObject);
begin
  Inherited TableChange;
  ShowMessage('The Table property just changed.');
end;
}
Property OnTableChange           : TNotifyEvent
  Read   FOnTableChange
  Write  FOnTableChange;
{!~ The OnModifyDataSetChange event occurs after the component's ...
ModifyDataSet property is changed.

Example:
The following event handler simply informs the user that the ...
ModifyDataSet property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1ModifyDataSetChange(Sender: TObject);
begin
  Inherited ModifyDataSetChange;
  ShowMessage('The ModifyDataSet property just changed.');
end;
}
Property OnModifyDataSetChange   : TNotifyEvent
  Read   FOnModifyDataSetChange
  Write  FOnModifyDataSetChange;
{!~ The OnQueryChange event occurs after the component's ...
Query property is changed.

Example:
The following event handler simply informs the user that the ...
Query property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1QueryChange(Sender: TObject);
begin
  Inherited QueryChange;
  ShowMessage('The Query property just changed.');
end;
}
Property OnQueryChange           : TNotifyEvent
  Read   FOnQueryChange
  Write  FOnQueryChange;
{!~ The OnDataSetChange event occurs after the component's ...
DataSet property is changed.

Example:
The following event handler simply informs the user that the ...
DataSet property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DataSetChange(Sender: TObject);
begin
  Inherited DataSetChange;
  ShowMessage('The DataSet property just changed.');
end;
}
Property OnDataSetChange         : TNotifyEvent
  Read   FOnDataSetChange
  Write  FOnDataSetChange;
{!~ The OnDataSourceChange event occurs after the component's ...
DataSource property is changed.

Example:
The following event handler simply informs the user that the ...
DataSource property has changed.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DataSourceChange(Sender: TObject);
begin
  Inherited DataSourceChange;
  ShowMessage('The DataSource property just changed.');
end;
}
Property OnDataSourceChange      : TNotifyEvent
  Read   FOnDataSourceChange
  Write  FOnDataSourceChange;

{!~ The ApplyChanges property is used as a replacement for the ModalResult ...
functionality of dialog boxes.  This property should not be used by developers ...
since it is strictly intended for internal component use.}
property ApplyChanges
 : Boolean
 Read   FApplyChanges
 Write  FApplyChanges;


{!~ The Modal property is not currently functional.

!!!!!!IDEAS ANYONE????????

It is my hope that someday I will be able to figure out how to show component
based dialogs non modally.  This way multiple instances of the dialog could be
visible and in use simultaneously.  There are a number of instances where this
functionality would be beneficial, e.g., having 2 table structure dialogs up at
the same time so that their structures could be compared.

This property should not be used by developers since it is not currently
functional.}
property Modal
 : Boolean
 Read   FModal
 Write  FModal;

Public
{Standard Public declarations }
constructor Create(AOwner: TComponent); override;
destructor  Destroy; override;
{!~
The ExecuteStandard function sets many of the properties that are common  ...
between TForm and the Advanced Delphi Systems dialog components, e.g.,  ...
height, color, borderstyle windowstate etc.
}
function    ExecuteStandard(Form : TForm): Boolean;
{!~
The CreateStandard procedure sets many of the properties that are common  ...
between TForm and the Advanced Delphi Systems dialog components, e.g.,  ...
height, color, borderstyle windowstate etc.
}
procedure   CreateStandard(AOwner: TComponent);
{!~
The CreateStandardDB procedure sets many of the standard database properties.
}
procedure   CreateStandardDB(AOwner: TComponent);
{!~
The PanelBevel method sets the beveled characteristics of a panel based  ...
on the Beveled boolean parameter.  If Beveled is true the panel is  ...
changed to a beveled appearance, if false beveling is removed.
}
Procedure   PanelBevel(Beveled : Boolean; Panel: TPanel);


{Standard Database Public declarations }
{!~
Set the DatabaseName property to specify the database to access.  ...
This property can specify:

A defined BDE alias,
  A directory path for desktop database files,
  A directory path and file name for a Local InterBase Server database,
  An application-specific alias defined by a TDatabase component
}
property DatabaseName
  : TFileName
  read   FDatabaseName
  write  SetDatabaseName;
{!~
The TableName property is the name of the database table to which the  ...
component is linked.
}
property TableName
 : TFileName
 read   FTableName
 write  SetTableName;
{!~
The DataField property identifies a field in a table or query attached to  ...
a database.  Depending on which Advanced Delphi Systems component this  ...
property is being used in the DataField may be linked to a DataSource for  ...
visual presentation of data or it may be linked to a databaseName and  ...
TableName.
}
property DataField
 : String
 read   FDataField
 write  SetDataField;
{!~
The Table property is a TTable component.  The TTable component accesses a  ...
database table.  By default, TTable accesses every column in a table when  ...
you activate it. When a data control component, such as TDBEdit, is  ...
associated with a TTable object, it can display any field in the table.  ...
Multi-column visual components, such as TDBGrid, access and display every  ...
column in the table using the table's TField list. If you double-click a  ...
TTable component on a form, you invoke the Fields editor. The Fields editor  ...
specifies how data control components display data. For information about  ...
using a TTable component, see Specifying a Dataset.
}
property Table
 : TTable
 Read   FTable
 Write  SetTable;
{!~ The ModifyDataSet property determines whether records in the attached
dataset can be edited, inserted or deleted.}
property ModifyDataSet
 : Boolean
 Read   FModifyDataSet
 Write  SetModifyDataSet;
{!~
The Query property is a TQuery component.   ...
TQuery enables Delphi applications to issue SQL statements to a database  ...
engine--either the BDE or an SQL server. TQuery provides the interface  ...
between an SQL server (or the BDE) and TDataSource components. TDataSource  ...
components then provide the interface to data-aware controls such as  ...
TDBGrid.  Set the DatabaseName property to specify the database to  ...
query. Enter a single SQL statement to execute in the SQL property. To  ...
query dBASE or Paradox tables, use local SQL. To query SQL server tables,  ...
use passthrough SQL. The SQL statement can be a static SQL statement or  ...
a dynamic SQL statement.

At run time, an application can supply parameter values for dynamic queries  ...
with the Params property, the ParamByName method, or the DataSource  ...
property. Use the Prepare method to optimize a dynamic query.

A result set is the group of records returned by a query to an application.  ...
A TQuery can return two kinds of result sets:

"Live" result sets: As with TTable components, users can edit data in the  ...
result set with data controls. The changes are sent to the database when a  ...
Post occurs, or when the user tabs off a control.

"Read only" result sets: Users cannot edit data in the result set with  ...
data controls.

If you want the query to provide a live result set, the SQL must conform to  ...
certain syntax requirements. If the SQL syntax does not conform to these  ...
requirements, the query will provide a read-only result set. Execute the SQL  ...
statement at design time by setting the Active property to True . Execute  ...
the SQL statement at run time with the Open or ExecSQL methods.  Call the  ...
First, Next, Prior, Last, and MoveBy methods to navigate through the result  ...
set. Test the BOF and EOF properties to determine if the cursor is at the  ...
beginning or end of the result set, respectively. Call the Append, Insert,  ...
AppendRecord or InsertRecord methods to add a record to the underlying  ...
database table. Call the Delete method to delete the current record. Call  ...
the Edit method to allow modification of the fields of the current record,  ...
and Post to post the changes or Cancel to discard them.
}
property Query
 : TQuery
 read   FQuery
 write  SetQuery;
{!~
DataSet specifies the dataset component (TTable, TQuery, and TStoredProc)  ...
that is providing data to the data source. Usually you set DataSet at  ...
design time with the Object Inspector, but you can also set it  ...
programmatically. The advantage of this interface approach to connecting  ...
data components is that the dataset, data source, and data-aware controls  ...
can be connected and disconnected from each other through the  ...
TDataSource component. In addition, these components can belong  ...
to different forms. 
}
property DataSet
 : TDataSet
 read   FDataSet
 write  SetDataSet;
{!~
The DataSource property determines where the component obtains the data  ...
to display. Specify the data source component that identifies the dataset  ...
the data is found in.
}
property DataSource
 : TDataSource
 read   FDataSource
 write  SetDataSource;

{!~ The TableNameSet property is of type TTableNameSet_ads, a decendent of ...
TStringList.  This property stores TableName as TableNameSet.Strings[0] and
DatabaseName as TableNameSet.Strings[1].  The TableName, DatabaseName and ...
TableNameSet properties are maintained in synchronization behind the scenes.

Example:
The following method simply informs the user what the ...
new DatabaseName is.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DatabaseNameChange(Sender: TObject);
begin
  Inherited DatabaseNameChange;
  ShowMessage('The DatabaseName is now '+TableNameSet.Strings[1]);
end;
}
property TableNameSet
 : TTableNameSet_ads
 Read   FTableNameSet
 Write  SetTableNameSet;
{!~ The TableNameSetSrc property is of type TTableNameSet_ads, a decendent ...
of TStringList.  This property stores TableNameSrc as ...
TableNameSetSrc.Strings[0] and DatabaseNameSrc as TableNameSetSrc.Strings[1].

This property is intended to be used in conjunction with the TableNameDest ...
property.  The *Src name extension means source and the *Dest extension means ...
Destination.  There is a family of properties that embody this source and ...
destination concept: DataFieldSetSrc, DataFieldSetDest, TableNameSetSrc, ...
TableNameSetDest, DataFieldSrc, DataFieldDest, TableNameSrc, TableNameDest, ...
DatabaseNameSrc, DatabaseNameDest, Every attempt is made to keep these ...
properties synchronized.

Example:
The following method simply informs the user what the ...
new DatabaseNameSrc is.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DatabaseNameSrcChange(Sender: TObject);
begin
  Inherited DatabaseNameSrcChange;
  ShowMessage('The DatabaseNameSrc is now '+TableNameSetSrc.Strings[1]);
end;
}
property TableNameSetSrc
 : TTableNameSet_ads
 Read   FTableNameSetSrc
 Write  SetTableNameSetSrc;
{!~ The TableNameSetDest property is of type TTableNameSet_ads, a decendent ...
of TStringList.  This property stores TableNameDest as ...
TableNameSetDest.Strings[0] and DatabaseNameDest as ...
TableNameSetDest.Strings[1].

This property is intended to be used in conjunction with the TableNameSrc ...
property.  The *Src name extension means source and the *Dest extension means ...
Destination.  There is a family of properties that embody this source and ...
destination concept: DataFieldSetSrc, DataFieldSetDest, TableNameSetSrc, ...
TableNameSetDest, DataFieldSrc, DataFieldDest, TableNameSrc, TableNameDest, ...
DatabaseNameSrc, DatabaseNameDest, Every attempt is made to keep these ...
properties synchronized.

Example:
The following method simply informs the user what the ...
new DatabaseNameDest is.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DatabaseNameDestChange(Sender: TObject);
begin
  Inherited DatabaseNameDestChange;
  ShowMessage('The DatabaseNameDest is now '+TableNameSetDest.Strings[1]);
end;
}
property TableNameSetDest
 : TTableNameSet_ads
 Read   FTableNameSetDest
 Write  SetTableNameSetDest;
{!~ The DataFieldSet property is of type TDataFieldSet_ads, a decendent of ...
TStringList.  This property stores DataField as DataFieldSet.Strings[0] and ...
TableName as DataFieldSet.Strings[1] and DatabaseName as ...
DataFieldSet.Strings[2].  The DataField, TableName, DatabaseName and ...
DataFieldSet properties are maintained in synchronization behind the scenes.

Example:
The following method simply informs the user what the ...
new DatabaseName is.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DatabaseNameChange(Sender: TObject);
begin
  Inherited DatabaseNameChange;
  ShowMessage('The DatabaseName is now '+DataFieldSet.Strings[2]);
end;
}
property DataFieldSet
 : TDataFieldSet_ads
 Read   FDataFieldSet
 Write  SetDataFieldSet;
{!~ The DataFieldSetSrc property is of type TDataFieldSet_ads, a decendent ...
of TStringList.  This property stores DataFieldSrc as ...
DataFieldSetSrc.Strings[0] and TableNameSrc as DataFieldSetSrc.Strings[1] ...
and DatabaseNameSrc as DataFieldSetSrc.Strings[2].

This property is intended to be used in conjunction with the DataFieldSetDest ...
property.  The *Src name extension means source and the *Dest extension means ...
Destination.  There is a family of properties that embody this source and ...
destination concept: DataFieldSetSrc, DataFieldSetDest, TableNameSetSrc, ...
TableNameSetDest, DataFieldSrc, DataFieldDest, TableNameSrc, TableNameDest, ...
DatabaseNameSrc, DatabaseNameDest, Every attempt is made to keep these ...
properties synchronized.

Example:
The following method simply informs the user what the ...
new DatabaseNameSrc is.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DatabaseNameSrcChange(Sender: TObject);
begin
  Inherited DatabaseNameSrcChange;
  ShowMessage('The DatabaseNameSrc is now '+DataFieldSetSrc.Strings[2]);
end;
}
property DataFieldSetSrc
 : TDataFieldSet_ads
 Read   FDataFieldSetSrc
 Write  SetDataFieldSetSrc;
{!~ The DataFieldSetDest property is of type TDataFieldSet_ads, a decendent ...
of TStringList.  This property stores DataFieldDest as ...
DataFieldSetDest.Strings[0] and TableNameDest as DataFieldSetDest.Strings[1] ...
and DatabaseNameDest as DataFieldSetDest.Strings[2].

This property is intended to be used in conjunction with the DataFieldSetSrc ...
property.  The *Src name extension means source and the *Dest extension means ...
Destination.  There is a family of properties that embody this source and ...
destination concept: DataFieldSetSrc, DataFieldSetDest, TableNameSetSrc, ...
TableNameSetDest, DataFieldSrc, DataFieldDest, TableNameSrc, TableNameDest, ...
DatabaseNameSrc, DatabaseNameDest, Every attempt is made to keep these ...
properties synchronized.

Example:
The following method simply informs the user what the ...
new DatabaseNameDest is.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DatabaseNameDestChange(Sender: TObject);
begin
  Inherited DatabaseNameDestChange;
  ShowMessage('The DatabaseNameDest is now '+DataFieldSetDest.Strings[2]);
end;
}
property DataFieldSetDest
 : TDataFieldSet_ads
 Read   FDataFieldSetDest
 Write  SetDataFieldSetDest;
{!~ The DataBaseNameSrc property is of type TFileName, a  ...
String. This property stores the source DatabaseName.

This property is intended to be used in conjunction with the DataBaseNameDest ...
property.  The *Src name extension means source and the *Dest extension means ...
Destination.  There is a family of properties that embody this source and ...
destination concept: DataFieldSetSrc, DataFieldSetDest, TableNameSetSrc, ...
TableNameSetDest, DataFieldSrc, DataFieldDest, TableNameSrc, TableNameDest, ...
DatabaseNameSrc, DatabaseNameDest, Every attempt is made to keep these ...
properties synchronized.

Example:
The following method simply informs the user what the ...
new DatabaseNameSrc is.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DatabaseNameSrcChange(Sender: TObject);
begin
  Inherited DatabaseNameSrcChange;
  ShowMessage('The DatabaseNameSrc is now '+DatabaseNameSrc);
end;
}
property DataBaseNameSrc
 : TFileName
 read   FDataBaseNameSrc
 write  SetDataBaseNameSrc;
{!~ The TableNameSrc property is of type TFileName, a  ...
String. This property stores the source TableName.

This property is intended to be used in conjunction with the TableNameDest ...
property.  The *Src name extension means source and the *Dest extension means ...
Destination.  There is a family of properties that embody this source and ...
destination concept: DataFieldSetSrc, DataFieldSetDest, TableNameSetSrc, ...
TableNameSetDest, DataFieldSrc, DataFieldDest, TableNameSrc, TableNameDest, ...
DatabaseNameSrc, DatabaseNameDest, Every attempt is made to keep these ...
properties synchronized.

Example:
The following method simply informs the user what the ...
new TableNameSrc is.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1TableNameSrcChange(Sender: TObject);
begin
  Inherited TableNameSrcChange;
  ShowMessage('The TableNameSrc is now '+TableNameSrc);
end;
}
property TableNameSrc
 : TFileName
 read   FTableNameSrc
 write  SetTableNameSrc;
{!~ The DataFieldSrc property is of type String. This property stores ...
the source DataField.

This property is intended to be used in conjunction with the DataFieldDest ...
property.  The *Src name extension means source and the *Dest extension means ...
Destination.  There is a family of properties that embody this source and ...
destination concept: DataFieldSetSrc, DataFieldSetDest, TableNameSetSrc, ...
TableNameSetDest, DataFieldSrc, DataFieldDest, TableNameSrc, TableNameDest, ...
DatabaseNameSrc, DatabaseNameDest, Every attempt is made to keep these ...
properties synchronized.

Example:
The following event simply informs the user what the ...
new DataFieldSrc is.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DataFieldSrcChange(Sender: TObject);
begin
  Inherited DataFieldSrcChange;
  ShowMessage('The DataFieldSrc is now '+DataFieldSrc);
end;
}
property DataFieldSrc
 : String
 read   FDataFieldSrc
 write  SetDataFieldSrc;
{!~ The DataBaseNameDest property is of type TFileName, a  ...
String. This property stores the destination DatabaseName.

This property is intended to be used in conjunction with the DataBaseNameSrc ...
property.  The *Src name extension means source and the *Dest extension means ...
Destination.  There is a family of properties that embody this source and ...
destination concept: DataFieldSetSrc, DataFieldSetDest, TableNameSetSrc, ...
TableNameSetDest, DataFieldSrc, DataFieldDest, TableNameSrc, TableNameDest, ...
DatabaseNameSrc, DatabaseNameDest, Every attempt is made to keep these ...
properties synchronized.

Example:
The following method simply informs the user what the ...
new DatabaseNameDest is.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DatabaseNameDestChange(Sender: TObject);
begin
  Inherited DatabaseNameDestChange;
  ShowMessage('The DatabaseNameDest is now '+DatabaseNameDest);
end;
}
property DataBaseNameDest
 : TFileName
 read   FDataBaseNameDest
 write  SetDataBaseNameDest;
{!~ The TableNameDest property is of type TFileName, a  ...
String. This property stores the destination TableName.

This property is intended to be used in conjunction with the TableNameSrc ...
property.  The *Src name extension means source and the *Dest extension means ...
Destination.  There is a family of properties that embody this source and ...
destination concept: DataFieldSetSrc, DataFieldSetDest, TableNameSetSrc, ...
TableNameSetDest, DataFieldSrc, DataFieldDest, TableNameSrc, TableNameDest, ...
DatabaseNameSrc, DatabaseNameDest, Every attempt is made to keep these ...
properties synchronized.

Example:
The following method simply informs the user what the ...
new TableNameDest is.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1TableNameDestChange(Sender: TObject);
begin
  Inherited TableNameDestChange;
  ShowMessage('The TableNameDest is now '+TableNameDest);
end;
}
property TableNameDest
 : TFileName
 read   FTableNameDest
 write  SetTableNameDest;
{!~ The DataFieldDest property is of type String. This property stores ...
the destination DataField.

This property is intended to be used in conjunction with the DataFieldSrc ...
property.  The *Src name extension means source and the *Dest extension means ...
Destination.  There is a family of properties that embody this source and ...
destination concept: DataFieldSetSrc, DataFieldSetDest, TableNameSetSrc, ...
TableNameSetDest, DataFieldSrc, DataFieldDest, TableNameSrc, TableNameDest, ...
DatabaseNameSrc, DatabaseNameDest, Every attempt is made to keep these ...
properties synchronized.

Example:
The following event simply informs the user what the ...
new DataFieldDest is.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1DataFieldDestChange(Sender: TObject);
begin
  Inherited DataFieldDestChange;
  ShowMessage('The DataFieldDest is now '+DataFieldDest);
end;
}
property DataFieldDest
 : String
 read   FDataFieldDest
 write  SetDataFieldDest;

published
{ Standard Published declarations }

{!~ The Font property is of type TFont and defines the appearance of text ....
TFont encapsulates a Windows HFONT.  A TFont object defines a set of ...
characters by specifying their height, font family (typeface) name, and ...
so on. The height is specified by the Height property. The typeface is ...
specified by the Name property. The size in points is specified by the ...
Size property. The color is specified by the Color property. The attributes ...
of the font (bold, italic, and so on) are specified by the Style ...
property.  When a font is modified, an OnChange event occurs.  In addition ...
to these properties, methods, and events, this object also has the ...
methods that apply to all objects.
}
property Font
 : TFont
 Read   FFont
 Write  SetFont;
{!~ The OnFontChange event is triggered when the Font property is changed ....
The Font property is of type TFont and defines the appearance of text ....
TFont encapsulates a Windows HFONT.  A TFont object defines a set of ...
characters by specifying their height, font family (typeface) name, and ...
so on. The height is specified by the Height property. The typeface is ...
specified by the Name property. The size in points is specified by the ...
Size property. The color is specified by the Color property. The attributes ...
of the font (bold, italic, and so on) are specified by the Style ...
property.  When a font is modified, an OnChange event occurs.  In addition ...
to these properties, methods, and events, this object also has the ...
methods that apply to all objects.
}
Property OnFontChange
 : TNotifyEvent
 Read   FOnFontChange
 Write  FOnFontChange;
{!~ The Title property is the text that appears in the dialog's title bar; ...
this text also appears as the icon label when the dialog is minimized.

Example:
The following code creates a Title that says "Dicks Table Dialog" on ...
a dialog called TableDialog_ads1:

TableDialog_ads1.Title := 'Dicks Table Dialog';
}
property Title
 : String
 Read   FTitle
 Write  SetTitle;
{!~ The OnTitleChange event is triggered when the Title property is ...
changed.  The Title property is the text that appears in the dialog's ...
title bar.  This text also appears as the icon label when the dialog is ...
minimized.

Example:
The following code creates a Title that says "Dicks Table Dialog" on ...
a dialog called TableDialog_ads1:

TableDialog_ads1.Title := 'Dicks Table Dialog';
}
Property OnTitleChange
 : TNotifyEvent
 Read   FOnTitleChange
 Write  FOnTitleChange;
{!~ The ColorOfForm property sets the background color for the component.  The ...
ColorOfForm property is of type TColor.

Example:
This code colors a TTableDialog_ads dialog red:

TableDialog_ads1.ColorOfForm := clRed;

The following code changes the color of a TTableDialog_ads component dialog ...
using the Color dialog box. The example displays the Color dialog box when ...
the Button1 button is clicked, allowing the user to select a color with ...
the dialog box. The example then assigns the color value selected with ...
the dialog box to the ColorOfForm property of the TTableDialog_ads component:

procedure TForm1.Button1Click(Sender: TObject);
Begin
  If ColorDialog1.Execute Then
    TableDialog_ads1.ColorOfForm := ColorDialog1.Color;
End;

}
property ColorOfForm
 : TColor
 Read   FColorOfForm
 Write  SetColorOfForm;
{!~ The OnColorOfFormChange is triggered when the ColorOfForm property ...
Changes.  The ColorOfForm property sets the background color for ...
the component.  The ColorOfForm property is of type TColor.

Example:
This code colors a TTableDialog_ads dialog red:

TableDialog_ads1.ColorOfForm := clRed;

The following code changes the color of a label when the TTableDialog_ads ...
component ColorOfForm property changes.  The example displays the Color ...
dialog box when the ColorOfForm property changes, allowing the user to ...
select a color with the dialog box. The example then assigns the color ...
value selected with the dialog box to the labels's color property:

procedure TForm1.TableDialog_ads1ColorOfFormChange(Sender: TObject);
begin
  Inherited ColorOfFormChange;
  If ColorDialog1.Execute Then
    Label1.Color := ColorDialog1.Color;
End;

}
Property OnColorOfFormChange
 : TNotifyEvent
 Read   FOnColorOfFormChange
 Write  FOnColorOfFormChange;
{!~
The Beveled property stores the beveled state of the component.  Beveled ...
set to True achieves a beveled appearance in the component (similar to ...
many Windows 3.1 applications).  Beveled set to false produces a clean ...
and uncluttered look similar to that of Windows 95.
}
property Beveled
 : Boolean
 Read   FBeveled
 Write  SetBeveled_ads;
{!~
The OnBeveledChange event is triggered by a change in the Beveled property ....
The Beveled property stores the beveled state of the component.  Beveled ...
set to True achieves a beveled appearance in the component (similar to ...
many Windows 3.1 applications).  Beveled set to false produces a clean ...
and uncluttered look similar to that of Windows 95.
}
Property OnBeveledChange
 : TNotifyEvent
 Read   FOnBeveledChange
 Write  FOnBeveledChange;
{!~
The BorderStyle property for Advanced Delphi Systems components specifies ...
both the appearance and the behavior of the dialog border. You normally ...
set BorderStyle at design time, but you can also change it at run time ....
BorderStyle can have any of the following values:

bsDialog
  Not resizeable; standard dialog box border
bsSingle
  Not resizeable; single-line border
bsNone
  Not resizeable;
  no visible border line,
  Minimize or Maximize buttons,
  or Control menu
bsSizeable
  Standard resizeable border

}
property BorderStyle
 : TFormBorderStyle
 Read   FBorderStyle
 Write  SetBorderStyle;
{!~
The OnBorderStyleChange event is triggered by a change in BorderStyle ....
The BorderStyle property for Advanced Delphi Systems components specifies ...
both the appearance and the behavior of the dialog border. You normally ...
set BorderStyle at design time, but you can also change it at run time ....
BorderStyle can have any of the following values:

bsDialog
  Not resizeable; standard dialog box border
bsSingle
  Not resizeable; single-line border
bsNone
  Not resizeable;
  no visible border line,
  Minimize or Maximize buttons,
  or Control menu
bsSizeable
  Standard resizeable border

}
Property OnBorderStyleChange
 : TNotifyEvent
 Read   FOnBorderStyleChange
 Write  FOnBorderStyleChange;
{!~ The Height property for Advanced Delphi Systems dialog components ...
controls the height of the associated dialog form.}
property Height
 : Integer
 Read   FHeight
 Write  SetHeight;
{!~ The OnHeightChange event is triggered when the height property is ...
changed.  The Height property for Advanced Delphi Systems dialog components ...
controls the height of the associated dialog form.}
Property OnHeightChange
 : TNotifyEvent
 Read   FOnHeightChange
 Write  FOnHeightChange;
{!~ The Width property for Advanced Delphi Systems dialog components ...
controls the Width of the associated dialog form.}
property Width
 : Integer
 Read   FWidth
 Write  SetWidth;
{!~ The OnWidthChange event is triggered when the Width property is ...
changed.  The Width property for Advanced Delphi Systems dialog components ...
controls the Width of the associated dialog form.}
Property OnWidthChange
 : TNotifyEvent
 Read   FOnWidthChange
 Write  FOnWidthChange;
{!~ The Maximized property determines how an Advanced Delphi Systems ...
component dialog is activated.  When Maximized is set to true the dialog ...
fills the computer screen.  When maximized is set to false the dialog ...
is presented in its normal size.}
property Maximized
 : Boolean
 Read   FMaximized
 Write  SetMaximized;
{!~ The OnMaximizedChange event is triggered when the maximized property ...
changes.  The Maximized property determines how an Advanced Delphi Systems ...
component dialog is activated.  When Maximized is set to true the dialog ...
fills the computer screen.  When maximized is set to false the dialog ...
is presented in its normal size.}
Property OnMaximizedChange
 : TNotifyEvent
 Read   FOnMaximizedChange
 Write  FOnMaximizedChange;
{!~
The ShowHint property determines whether Help Hints are enabled or disabled ...
for an Advanced Delphi Systems component. If ShowHint is True, Help Hints ...
are enabled; if ShowHint is False, Help Hints are disabled. The default ...
value is True.
}
property ShowHint
 : Boolean
 Read   FShowHint
 Write  SetShowHint;
{!~
The OnShowHintChange event is triggered by a change in the ShowHint ...
property.  The ShowHint property determines whether Help Hints are enabled ...
or disabled for an Advanced Delphi Systems component. If ShowHint is True, ...
Help Hints are enabled; if ShowHint is False, Help Hints are disabled. The ...
default value is True.
}
Property OnShowHintChange
 : TNotifyEvent
 Read   FOnShowHintChange
 Write  FOnShowHintChange;
{!~
The ButtonsReSize property determines whether the button sizes are fixed ...
or not.  ButtonsReSize set to true allows the buttons to resize ...
when the form is resized.  ButtonsReSize set to false fixes the button ...
dimensions.  The default is False.

Advanced Delphi Systems dialog components come with a number of ...
customization features related to the button bar at the bottom of the ...
form.  These featues include:

1. RESIZE: The ability to control whether the size of the buttons is fixed ...
or they can change to fill the button panel when resized.

2. ALIGNMENT: The ability to set the alignment of the buttons.  The options are ...
the standard TAlignment options of taLeftJustify, taRightJustify and ...
taCenter.

3. WIDTH: The ability to set the width for all the buttons.

4. SPACER: The ability to set the spacing between buttons.

}
property ButtonsReSize
 : Boolean
 Read   FButtonsReSize
 Write  SetButtonsReSize;
{!~
The OnButtonsResizeChange event is triggered when the ButtonsResize ...
property changes.

The ButtonsReSize property determines whether the button sizes are fixed ...
or not.  ButtonsReSize set to true allows the buttons to resize ...
when the form is resized.  ButtonsReSize set to false fixes the button ...
dimensions.  The default is False.

Advanced Delphi Systems dialog components come with a number of ...
customization features related to the button bar at the bottom of the ...
form.  These featues include:

1. RESIZE: The ability to control whether the size of the buttons is fixed ...
or they can change to fill the button panel when resized.

2. ALIGNMENT: The ability to set the alignment of the buttons.  The options are ...
the standard TAlignment options of taLeftJustify, taRightJustify and ...
taCenter.

3. WIDTH: The ability to set the width for all the buttons.

4. SPACER: The ability to set the spacing between buttons.

}
Property OnButtonsResizeChange
 : TNotifyEvent
 Read   FOnButtonsResizeChange
 Write  FOnButtonsResizeChange;
{!~
The ButtonsAlignment property determines whether the buttons ...
are aligned left, center or right.  For Delphi 1.0 applications ...
the default is set to taCenter and for Delphi 2.0 and 3.0 ...
applications the default is taRightJustify.

Advanced Delphi Systems dialog components come with a number of ...
customization features related to the button bar at the bottom of the ...
form.  These featues include:

1. RESIZE: The ability to control whether the size of the buttons is fixed ...
or they can change to fill the button panel when resized.

2. ALIGNMENT: The ability to set the alignment of the buttons.  The options are ...
the standard TAlignment options of taLeftJustify, taRightJustify and ...
taCenter.

3. WIDTH: The ability to set the width for all the buttons.

4. SPACER: The ability to set the spacing between buttons.

}
property ButtonsAlignment
 : TAlignment
 Read   FButtonsAlignment
 Write  SetButtonsAlignment;
{!~
The OnButtonsAlignmentChange event is triggered when the ButtonsAlignment ...
property is changed.

The ButtonsAlignment property determines whether the buttons ...
are aligned left, center or right.  For Delphi 1.0 applications ...
the default is set to taCenter and for Delphi 2.0 and 3.0 ...
applications the default is taRightJustify.

Advanced Delphi Systems dialog components come with a number of ...
customization features related to the button bar at the bottom of the ...
form.  These featues include:

1. RESIZE: The ability to control whether the size of the buttons is fixed ...
or they can change to fill the button panel when resized.

2. ALIGNMENT: The ability to set the alignment of the buttons.  The options are ...
the standard TAlignment options of taLeftJustify, taRightJustify and ...
taCenter.

3. WIDTH: The ability to set the width for all the buttons.

4. SPACER: The ability to set the spacing between buttons.

}
Property OnButtonsAlignmentChange
 : TNotifyEvent
 Read   FOnButtonsAlignmentChange
 Write  FOnButtonsAlignmentChange;
{!~
The ButtonWidth property sets the width of the buttons on the button ...
panel on the bottom of Advanced Delphi Systems dialogs.  This ...
property has an effect only if ButtonsReSize is set to false.

Advanced Delphi Systems dialog components come with a number of ...
customization features related to the button bar at the bottom of the ...
form.  These featues include:

1. RESIZE: The ability to control whether the size of the buttons is fixed ...
or they can change to fill the button panel when resized.

2. ALIGNMENT: The ability to set the alignment of the buttons.  The options are ...
the standard TAlignment options of taLeftJustify, taRightJustify and ...
taCenter.

3. WIDTH: The ability to set the width for all the buttons.

4. SPACER: The ability to set the spacing between buttons.

}
property ButtonWidth
 : Integer
 Read   FButtonWidth
 Write  SetButtonWidth;
{!~
The OnButtonWidthChange event is triggered when the ButtonWidth property ...
changes.

The ButtonWidth property sets the width of the buttons on the button ...
panel on the bottom of Advanced Delphi Systems dialogs.  This ...
property has an effect only if ButtonsReSize is set to false.

Advanced Delphi Systems dialog components come with a number of ...
customization features related to the button bar at the bottom of the ...
form.  These featues include:

1. RESIZE: The ability to control whether the size of the buttons is fixed ...
or they can change to fill the button panel when resized.

2. ALIGNMENT: The ability to set the alignment of the buttons.  The options are ...
the standard TAlignment options of taLeftJustify, taRightJustify and ...
taCenter.

3. WIDTH: The ability to set the width for all the buttons.

4. SPACER: The ability to set the spacing between buttons.

}
Property OnButtonWidthChange
 : TNotifyEvent
 Read   FOnButtonWidthChange
 Write  FOnButtonWidthChange;
{!~
The ButtonSpacer property sets the distance between each button on the ...
Buttons panel for Advanced Delphi Systems dialog components.  This  ...
property has an effect only if the ButtonsReSize property is set ...
to False.  The default setting is 10.

Advanced Delphi Systems dialog components come with a number of ...
customization features related to the button bar at the bottom of the ...
form.  These featues include:

1. RESIZE: The ability to control whether the size of the buttons is fixed ...
or they can change to fill the button panel when resized.

2. ALIGNMENT: The ability to set the alignment of the buttons.  The options are ...
the standard TAlignment options of taLeftJustify, taRightJustify and ...
taCenter.

3. WIDTH: The ability to set the width for all the buttons.

4. SPACER: The ability to set the spacing between buttons.

}
property ButtonSpacer
 : Integer
 Read   FButtonSpacer
 Write  SetButtonSpacer;
{!~
The OnButtonSpacerChange event is triggered when the ButtonSpacer ...
property changes.

The ButtonSpacer property sets the distance between each button on the ...
Buttons panel for Advanced Delphi Systems dialog components.  This  ...
property has an effect only if the ButtonsReSize property is set ...
to False.  The default setting is 10.

Advanced Delphi Systems dialog components come with a number of ...
customization features related to the button bar at the bottom of the ...
form.  These featues include:

1. RESIZE: The ability to control whether the size of the buttons is fixed ...
or they can change to fill the button panel when resized.

2. ALIGNMENT: The ability to set the alignment of the buttons.  The options are ...
the standard TAlignment options of taLeftJustify, taRightJustify and ...
taCenter.

3. WIDTH: The ability to set the width for all the buttons.

4. SPACER: The ability to set the spacing between buttons.

}
Property OnButtonSpacerChange
 : TNotifyEvent
 Read   FOnButtonSpacerChange
 Write  FOnButtonSpacerChange;
{!~
Then MinFormWidth property works in conjunction with the Width property ...
for Advanced Delphi Systems dialog components. The MinFormWidth ...
property establishes the minimum width below which a component cannot go.
}
property MinFormWidth
 : Integer
 Read   FMinFormWidth
 Write  SetMinFormWidth;
{!~
The OnMinFormWidthChange event is triggered by a change in the ...
MinFormWidth property.

Then MinFormWidth property works in conjunction with the Width property ...
for Advanced Delphi Systems dialog components. The MinFormWidth ...
property establishes the minimum width below which a component cannot go.
}
Property OnMinFormWidthChange
 : TNotifyEvent
 Read   FOnMinFormWidthChange
 Write  FOnMinFormWidthChange;
{!~
Then MinFormHeight property works in conjunction with the Height property ...
for Advanced Delphi Systems dialog components. The MinFormHeight ...
property establishes the minimum Height below which a component cannot go.
}
property MinFormHeight
 : Integer
 Read   FMinFormHeight
 Write  SetMinFormHeight;
{!~
The OnMinFormHeightChange event is triggered by a change in the ...
MinFormHeight property.

Then MinFormHeight property works in conjunction with the Height property ...
for Advanced Delphi Systems dialog components. The MinFormHeight ...
property establishes the minimum Height below which a component cannot go.
}
Property OnMinFormHeightChange
 : TNotifyEvent
 Read   FOnMinFormHeightChange
 Write  FOnMinFormHeightChange;
{!~ The OnBeforeExecute event occurs before the component's dialog is displayed.

Example:
The following event handler simply informs the user that the ...
BeforeExecute event is being triggered.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1BeforeExecute(Sender: TObject);
begin
  Inherited ...
BeforeExecute;
  ShowMessage('The BeforeExecute event has been triggered.');
end;
}
Property OnBeforeExecute
 : TNotifyEvent
 Read   FOnBeforeExecute
 Write  FOnBeforeExecute;
{!~ The OnAfterExecute event occurs after the component's dialog is displayed.

Example:
The following event handler simply informs the user that the ...
AfterExecute event is being triggered.  It is important to add the inherited line ...
to this event handler so that the functionality built in by the ...
component designer is implemented prior to any new event code.

procedure TForm1.TableDialog_ads1AfterExecute(Sender: TObject);
begin
  Inherited AfterExecute;
  ShowMessage('The AfterExecute event has been triggered.');
end;
}
Property OnAfterExecute
 : TNotifyEvent
 Read   FOnAfterExecute
 Write  FOnAfterExecute;
end;

implementation


constructor TCommonDialog_ads.Create(AOwner: TComponent);
begin
  inherited Create (AOwner);
  CreateStandard(AOwner);
  CreateStandardDB(AOwner);
end;

destructor TCommonDialog_ads.Destroy;
begin
  AfterExecute;
  FTableNameSet.Free;       {TableName, DataBaseName}
  FTableNameSetSrc.Free;    {TableName, DataBaseName for Source}
  FTableNameSetDest.Free;   {TableName, DataBaseName for Dest}
  FDataFieldSet.Free;       {TableName, DataBaseName, DataField}
  FDataFieldSetSrc.Free;    {TableName, DataBaseName, DataField
                            for Source}
  FDataFieldSetDest.Free;   {TableName, DataBaseName, DataField
                            for Dest}
  inherited Destroy;
end;

//
Unit Description UnitIndex Master Index
function TCommonDialog_ads.ExecuteStandard(Form : TForm): Boolean;
begin
  BeforeExecute;
  {Standard property settings }
  Form.Font             := Font;       {Sets the Form font property}
  Form.Caption          := Title;      {stores the Dialog Title}
  Form.Color            := ColorOfForm;{Stores Dialog Background Color}
  If Height > 1 Then
  Begin
    If Height > MinFormHeight Then
    Begin
      Form.Height  := Height;
    End
    Else
    Begin
      Form.Height  := MinFormHeight;
    End;
  End;
  If Width > 1 Then
  Begin
    If Width > MinFormWidth Then
    Begin
      Form.Width  := Width;
    End
    Else
    Begin
      Form.Width  := MinFormWidth;
    End;
  End;
  Form.Left := GetCenterFormLeft(Form.Width);
  Form.Top  := GetCenterFormTop(Form.Height);
  If Maximized Then
  Begin
    Form.WindowState      := wsMaximized;
  End
  Else
  Begin
    Form.WindowState      := wsNormal;
  End;
  Form.BorderStyle      := BorderStyle;{ Sets the dialog borderstyle}
  Form.ShowHint         := ShowHint;
  Result                := True;
end;


//
Unit Description UnitIndex Master Index
procedure TCommonDialog_ads.CreateStandard(AOwner: TComponent);
Begin
  {Stand Property defaults}
  FFont                := TFont.Create;     {Sets the Form font property}
  Title                := 'Selection Dialog'; {stores the Dialog Title}
  ColorOfForm          := clBtnFace;        {Stores Dialog Background Color}
{$IFDEF WIN32}
  Beveled              := False;            {Turns Beveling On and Off}
{$ELSE}
  Beveled              := True;             {Turns Beveling On and Off}
{$ENDIF}
  Modal                := True;             {Set Modal property of form}
  FBorderStyle         := bsSizeable;       { Sets the dialog borderstyle}
  MinFormHeight        := 400;
  MinFormWidth         := 500;
  Height               := 1;
  Width                := 1;
  Maximized            := False;
  ButtonsReSize        := False;
{$IFDEF WIN32}
  ButtonsAlignment     := taRightJustify;
{$ELSE}
  ButtonsAlignment     := taCenter;
{$ENDIF}
  ButtonWidth          := 75;
  ButtonSpacer         := 10;
  ShowHint             := True;
  ApplyChanges         := False;
    {ApplyChanges:
       False defaults to a modal result of mrCancel meaning the dialog
       changes are not executed.  The assumption is that an ApplyChanges
       will be read from the form that can change this result to the
       equilivent to mrOk.  The only reason that this approach is taken
       is that modalresult only works on modal forms at closing a form.
       I want the forms to be usable both as modal and modeless, so I need
       some mechanism other than modalresult to signify that the changes
       should be made.  This mechanism is ApplyChanges.  This also means
       that in the Click event of the forms buttons for the OK and Cancel
       the form's ApplyChanges property should be set and that a Close; follow
       this setting. }
End;

//
Unit Description UnitIndex Master Index
procedure TCommonDialog_ads.CreateStandardDB(AOwner: TComponent);
Begin
  {Unique Database Property defaults}
  FTableNameSet        := TTableNameSet_ads.Create;   {TableName, DataBaseName}
  FTableNameSetSrc     := TTableNameSet_ads.Create;   {TableName, DataBaseName for Source}
  FTableNameSetDest    := TTableNameSet_ads.Create;   {TableName, DataBaseName for Dest}
  FDataFieldSet        := TDataFieldSet_ads.Create;   {TableName, DataBaseName, DataField}
  FDataFieldSetSrc     := TDataFieldSet_ads.Create;   {TableName, DataBaseName, DataField
                                                      for Source}
  FDataFieldSetDest    := TDataFieldSet_ads.Create;   {TableName, DataBaseName, DataField
                                                      for Dest}

  FTableNameSet.Clear;                          {TableName, DataBaseName}
  FTableNameSetSrc.Clear;                       {TableName, DataBaseName for Source}
  FTableNameSetDest.Clear;                      {TableName, DataBaseName for Dest}
  FDataFieldSet.Clear;                          {TableName, DataBaseName, DataField}
  FDataFieldSetSrc.Clear;                       {TableName, DataBaseName, DataField
                                                for Source}
  FDataFieldSetDest.Clear;                      {TableName, DataBaseName, DataField
                                                for Dest}

  {Instantiate first string}
  FTableNameSet.Add('');                        {TableName, DataBaseName}
  FTableNameSetSrc.Add('');                     {TableName, DataBaseName for Source}
  FTableNameSetDest.Add('');                    {TableName, DataBaseName for Dest}
  FDataFieldSet.Add('');                        {TableName, DataBaseName, DataField}
  FDataFieldSetSrc.Add('');                     {TableName, DataBaseName, DataField
                                                for Source}
  FDataFieldSetDest.Add('');                    {TableName, DataBaseName, DataField
                                                for Dest}
  {Instantiate second string}
  FTableNameSet.Add('');                        {TableName, DataBaseName}
  FTableNameSetSrc.Add('');                     {TableName, DataBaseName for Source}
  FTableNameSetDest.Add('');                    {TableName, DataBaseName for Dest}
  FDataFieldSet.Add('');                        {TableName, DataBaseName, DataField}
  FDataFieldSetSrc.Add('');                     {TableName, DataBaseName, DataField
                                                for Source}
  FDataFieldSetDest.Add('');                    {TableName, DataBaseName, DataField
                                                for Dest}
  {Instantiate third string}
  FDataFieldSet.Add('');                        {TableName, DataBaseName, DataField}
  FDataFieldSetSrc.Add('');                     {TableName, DataBaseName, DataField
                                                for Source}
  FDataFieldSetDest.Add('');                    {TableName, DataBaseName, DataField
                                                for Dest}
  DatabaseName         := '';
  TableName            := '';
  Table                := nil;
  Query                := nil;
  DataSet              := nil;
  DataSource           := nil;
  DataField            := '';
  ModifyDataSet        := True;
    {ModifyDataSet:
    True: DataSet should be modified on return from dialog if ApplyChanges
          is True.  The form should contain an ApplyChanges boolean property
          that is set to true in the OK button click event.

          example;
             procedure TGetTableDlg.ButtonOKClick(Sender: TObject);
             begin
               ApplyChanges := True;
               Close;
             end; }

End;

//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.PanelBevel(Beveled : Boolean; Panel: TPanel);
Begin
  If Not Beveled Then
  Begin
    Panel.BevelOuter := bvNone;
    Panel.BevelInner := bvNone;
    Panel.BorderStyle:= bsNone;
  End
  Else
  Begin
    Panel.BevelOuter := bvRaised;
    Panel.BevelInner := bvLowered;
    Panel.BorderStyle:= bsSingle;
  End;
End;

{zzz}

{Font Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.SetFont(Value : TFont);
Begin
  If FFont <> Value Then
  Begin
    FFont.Assign(Value);
    FontChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.FontChange;
Begin
  If Assigned(FOnFontChange) Then
    FOnFontChange(Self);
End;

{Title Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.SetTitle(Value : String);
Begin
  If FTitle <> Value Then
  Begin
    FTitle := Value;
    TitleChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.TitleChange;
Begin
  If Assigned(FOnTitleChange) Then
    FOnTitleChange(Self);
End;

{ColorOfForm Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.SetColorOfForm(Value : TColor);
Begin
  If FColorOfForm <> Value Then
  Begin
    FColorOfForm := Value;
    ColorOfFormChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.ColorOfFormChange;
Begin
  If Assigned(FOnColorOfFormChange) Then
    FOnColorOfFormChange(Self);
End;

{Beveled Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.SetBeveled_ads(Value : Boolean);
Begin
  If FBeveled <> Value Then
  Begin
    FBeveled := Value;
    BeveledChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.BeveledChange;
Begin
  If Assigned(FOnBeveledChange) Then
    FOnBeveledChange(Self);
End;

{Modal Property}
{Property Set Method}
//Procedure TCommonDialog_ads.SetModal(Value : Boolean);
//Begin
//  If FModal <> Value Then
//  Begin
//    FModal := Value;
//    ModalChange;
//  End;
//End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.ModalChange;
Begin
  If Assigned(FOnModalChange) Then
    FOnModalChange(Self);
End;

{BorderStyle Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.SetBorderStyle(Value : TFormBorderStyle);
Begin
  If FBorderStyle <> Value Then
  Begin
    FBorderStyle := Value;
    BorderStyleChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.BorderStyleChange;
Begin
  If Assigned(FOnBorderStyleChange) Then
    FOnBorderStyleChange(Self);
End;

{Height Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.SetHeight(Value : Integer);
Begin
  If FHeight <> Value Then
  Begin
    FHeight := Value;
    HeightChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.HeightChange;
Begin
  If Assigned(FOnHeightChange) Then
    FOnHeightChange(Self);
End;

{Width Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.SetWidth(Value : Integer);
Begin
  If FWidth <> Value Then
  Begin
    FWidth := Value;
    WidthChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.WidthChange;
Begin
  If Assigned(FOnWidthChange) Then
    FOnWidthChange(Self);
End;

{Maximized Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.SetMaximized(Value : Boolean);
Begin
  If FMaximized <> Value Then
  Begin
    FMaximized := Value;
    MaximizedChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.MaximizedChange;
Begin
  If Assigned(FOnMaximizedChange) Then
    FOnMaximizedChange(Self);
End;

{ButtonsResize Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.SetButtonsResize(Value : Boolean);
Begin
  If FButtonsResize <> Value Then
  Begin
    FButtonsResize := Value;
    ButtonsResizeChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.ButtonsResizeChange;
Begin
  If Assigned(FOnButtonsResizeChange) Then
    FOnButtonsResizeChange(Self);
End;

{ButtonsAlignment Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.SetButtonsAlignment(Value : TAlignment);
Begin
  If FButtonsAlignment <> Value Then
  Begin
    FButtonsAlignment := Value;
    ButtonsAlignmentChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.ButtonsAlignmentChange;
Begin
  If Assigned(FOnButtonsAlignmentChange) Then
    FOnButtonsAlignmentChange(Self);
End;

{ButtonWidth Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.SetButtonWidth(Value : Integer);
Begin
  If FButtonWidth <> Value Then
  Begin
    FButtonWidth := Value;
    ButtonWidthChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.ButtonWidthChange;
Begin
  If Assigned(FOnButtonWidthChange) Then
    FOnButtonWidthChange(Self);
End;

{ButtonSpacer Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.SetButtonSpacer(Value : Integer);
Begin
  If FButtonSpacer <> Value Then
  Begin
    FButtonSpacer := Value;
    ButtonSpacerChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.ButtonSpacerChange;
Begin
  If Assigned(FOnButtonSpacerChange) Then
    FOnButtonSpacerChange(Self);
End;

{ApplyChanges Property}
{Property Set Method}
//Procedure TCommonDialog_ads.SetApplyChanges(Value : Boolean);
//Begin
//  If FApplyChanges <> Value Then
//  Begin
//    FApplyChanges := Value;
//    ApplyChangesChange;
//  End;
//End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.ApplyChangesChange;
Begin
  If Assigned(FOnApplyChangesChange) Then
    FOnApplyChangesChange(Self);
End;

{ShowHint Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.SetShowHint(Value : Boolean);
Begin
  If FShowHint <> Value Then
  Begin
    FShowHint := Value;
    ShowHintChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.ShowHintChange;
Begin
  If Assigned(FOnShowHintChange) Then
    FOnShowHintChange(Self);
End;

{MinFormWidth Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.SetMinFormWidth(Value : Integer);
Begin
  If FMinFormWidth <> Value Then
  Begin
    FMinFormWidth := Value;
    MinFormWidthChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.MinFormWidthChange;
Begin
  If Assigned(FOnMinFormWidthChange) Then
    FOnMinFormWidthChange(Self);
End;

{MinFormHeight Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.SetMinFormHeight(Value : Integer);
Begin
  If FMinFormHeight <> Value Then
  Begin
    FMinFormHeight := Value;
    MinFormHeightChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.MinFormHeightChange;
Begin
  If Assigned(FOnMinFormHeightChange) Then
    FOnMinFormHeightChange(Self);
End;

{TableNameSet Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
procedure TCommonDialog_ads.SetTableNameSet(Value: TTableNameSet_ads);
Begin
  If FTableNameSet  <> Value Then
  Begin
    FTableNameSet.Assign(Value);
    If DatabaseName <> FTableNameSet.Strings[1] Then
       DatabaseName := FTableNameSet.Strings[1];
    If TableName    <> FTableNameSet.Strings[0] Then
       TableName    := FTableNameSet.Strings[0];
    FDatabaseName   := FTableNameSet.Strings[1];
    FTableName      := FTableNameSet.Strings[0];
    TableNameSetChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.TableNameSetChange;
Begin
  If Assigned(FOnTableNameSetChange) Then
    FOnTableNameSetChange(Self);
End;

{TableNameSetSrc Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
procedure TCommonDialog_ads.SetTableNameSetSrc(Value: TTableNameSet_ads);
Begin
  If FTableNameSetSrc  <> Value Then
  Begin
    FTableNameSetSrc.Assign(Value);
    If FDatabaseNameSrc <> FTableNameSetSrc.Strings[1] Then
       FDatabaseNameSrc := FTableNameSetSrc.Strings[1];
    If FTableNameSrc    <> FTableNameSetSrc.Strings[0] Then
       FTableNameSrc    := FTableNameSetSrc.Strings[0];
    FDatabaseNameSrc    := FTableNameSet.Strings[1];
    FTableNameSrc       := FTableNameSet.Strings[0];
    TableNameSetSrcChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.TableNameSetSrcChange;
Begin
  If Assigned(FOnTableNameSetSrcChange) Then
    FOnTableNameSetSrcChange(Self);
End;

{TableNameSetDest Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
procedure TCommonDialog_ads.SetTableNameSetDest(Value: TTableNameSet_ads);
Begin
  If FTableNameSetDest <> Value Then
  Begin
    FTableNameSetDest.Assign(Value);
    If DatabaseNameDest <> FTableNameSetDest.Strings[1] Then
       DatabaseNameDest := FTableNameSetDest.Strings[1];
    If TableNameDest    <> FTableNameSetDest.Strings[0] Then
       TableNameDest    := FTableNameSetDest.Strings[0];
    FDatabaseNameDest   := FTableNameSet.Strings[1];
    FTableNameDest      := FTableNameSet.Strings[0];
    TableNameSetDestChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.TableNameSetDestChange;
Begin
  If Assigned(FOnTableNameSetDestChange) Then
    FOnTableNameSetDestChange(Self);
End;

{DataFieldSet Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
procedure TCommonDialog_ads.SetDataFieldSet(Value: TDataFieldSet_ads);
Begin
  If FDataFieldSet    <> Value Then
  Begin
    FDataFieldSet.Assign(Value);
    If DatabaseName   <> Value.Strings[2] Then
       DatabaseName   := Value.Strings[2];
    If TableName      <> Value.Strings[1] Then
       TableName      := Value.Strings[1];
    If DataField      <> Value.Strings[0] Then
       DataField      := Value.Strings[0];
    DataFieldSetChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.DataFieldSetChange;
Begin
  If Assigned(FOnDataFieldSetChange) Then
    FOnDataFieldSetChange(Self);
End;

{DataFieldSetSrc Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
procedure TCommonDialog_ads.SetDataFieldSetSrc(Value: TDataFieldSet_ads);
Begin
  If FDataFieldSetSrc    <> Value Then
  Begin
    FDataFieldSetSrc.Assign(Value);
    If FDatabaseNameSrc   <> Value.Strings[2] Then
       FDatabaseNameSrc   := Value.Strings[2];
    If FTableNameSrc      <> Value.Strings[1] Then
       FTableNameSrc      := Value.Strings[1];
    If FDataFieldSrc      <> Value.Strings[0] Then
       FDataFieldSrc      := Value.Strings[0];
    DataFieldSetSrcChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.DataFieldSetSrcChange;
Begin
  If Assigned(FOnDataFieldSetSrcChange) Then
    FOnDataFieldSetSrcChange(Self);
End;

{DataFieldSetDest Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
procedure TCommonDialog_ads.SetDataFieldSetDest(Value: TDataFieldSet_ads);
Begin
  If FDataFieldSetDest <> Value Then
  Begin
    FDataFieldSetDest.Assign(Value);
    If DatabaseNameDest   <> Value.Strings[2] Then
       DatabaseNameDest   := Value.Strings[2];
    If TableNameDest      <> Value.Strings[1] Then
       TableNameDest      := Value.Strings[1];
    If DataFieldDest      <> Value.Strings[0] Then
       DataFieldDest      := Value.Strings[0];
    DataFieldSetDestChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.DataFieldSetDestChange;  {TableName, DataBaseName, DataField for Dest}
Begin
  If Assigned(FOnDataFieldSetDestChange) Then
    FOnDataFieldSetDestChange(Self);
End;

{DatabaseName Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
procedure TCommonDialog_ads.SetDatabaseName(Value: TFileName);
Begin
  If FDatabaseName <> Value Then
  Begin
    FDatabaseName              := Value;
    If DataFieldSet.Strings[2] <> Value  Then
       DataFieldSet.Strings[2] := Value;
    If TableNameSet.Strings[1] <> Value  Then
       TableNameSet.Strings[1] := Value;
    If Not (FDatabaseName = '') Then
    Begin
      TableName    := '';
      DataField    := '';
      DataSet      := nil;
      DataSource   := nil;
    End;
    DatabaseNameChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.DatabaseNameChange;
Begin
  If Assigned(FOnDatabaseNameChange) Then
    FOnDatabaseNameChange(Self);
End;

{TableName Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
procedure TCommonDialog_ads.SetTableName(Value: TFileName);
Begin
  If FTableName <> Value Then
  Begin
    FTableName                 := Value;
    If DataFieldSet.Strings[1] <> Value Then
       DataFieldSet.Strings[1] := Value;
    If TableNameSet.Strings[0] <> Value Then
       TableNameSet.Strings[0] := Value;
    If Not (FTableName = '') Then
    Begin
      DataField    := '';
    End;
    TableNameChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.TableNameChange;
Begin
  If Assigned(FOnTableNameChange) Then
    FOnTableNameChange(Self);
End;

{DataField Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
procedure TCommonDialog_ads.SetDataField(Value: String);
Begin
  If FDataField <> Value Then
  Begin
    FDataField                 := Value;
    If DataFieldSet.Strings[0] <> Value Then
       DataFieldSet.Strings[0] := Value;
    DataFieldChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.DataFieldChange;
Begin
  If Assigned(FOnDataFieldChange) Then
    FOnDataFieldChange(Self);
End;

{DataBaseNameSrc Property}
{Property Set Method}
{Sets Source DatabaseName}
//
Unit Description UnitIndex Master Index
procedure TCommonDialog_ads.SetDataBaseNameSrc(Value: TFileName);
Begin
  If FDataBaseNameSrc <> Value Then
  Begin
    FDataBaseNameSrc              := Value;
    If DataFieldSetSrc.Strings[2] <> Value Then
       DataFieldSetSrc.Strings[2] := Value;
    If TableNameSetSrc.Strings[1] <> Value Then
       TableNameSetSrc.Strings[1] := Value;
    If Not (FDataBaseNameSrc = '') Then
    Begin
      TableNameSrc    := '';
      DataFieldSrc    := '';
    End;
    DatabaseNameSrcChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.DataBaseNameSrcChange;
Begin
  If Assigned(FOnDataBaseNameSrcChange) Then
    FOnDataBaseNameSrcChange(Self);
End;

{TableNameSrc Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
procedure TCommonDialog_ads.SetTableNameSrc(Value: TFileName);
Begin
  If FTableNameSrc <> Value Then
  Begin
    FTableNameSrc                 := Value;
    If DataFieldSetSrc.Strings[1] <> Value Then
       DataFieldSetSrc.Strings[1] := Value;
    If TableNameSetSrc.Strings[0] <> Value Then
       TableNameSetSrc.Strings[0] := Value;
    If Not (FTableNameSrc = '') Then
    Begin
      DataFieldSrc    := '';
    End;
    TableNameSrcChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.TableNameSrcChange;
Begin
  If Assigned(FOnTableNameSrcChange) Then
    FOnTableNameSrcChange(Self);
End;

{DataFieldSrc Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
procedure TCommonDialog_ads.SetDataFieldSrc(Value: String);
Begin
  If FDataFieldSrc                 <> Value Then
  Begin
     FDataFieldSrc                 := Value;
     If DataFieldSetSrc.Strings[0] <> Value Then
        DataFieldSetSrc.Strings[0] := Value;
     DataFieldSrcChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.DataFieldSrcChange;
Begin
  If Assigned(FOnDataFieldSrcChange) Then
    FOnDataFieldSrcChange(Self);
End;

{DataBaseNameDest Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
procedure TCommonDialog_ads.SetDataBaseNameDest(Value: TFileName);
Begin
  If FDataBaseNameDest              <> Value  Then
  Begin
     FDataBaseNameDest              := Value;
     If DataFieldSetDest.Strings[2] <> Value  Then
        DataFieldSetDest.Strings[2] := Value;
     If TableNameSetDest.Strings[1] <> Value  Then
        TableNameSetDest.Strings[1] := Value;
     If Not (FDataBaseNameDest = '')          Then
     Begin
       TableNameDest    := '';
       DataFieldDest    := '';
     End;
     DataBaseNameDestChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.DataBaseNameDestChange;
Begin
  If Assigned(FOnDataBaseNameDestChange) Then
    FOnDataBaseNameDestChange(Self);
End;

{TableNameDest Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
procedure TCommonDialog_ads.SetTableNameDest(Value: TFileName);
Begin
  If FTableNameDest                <> Value   Then
  Begin
    FTableNameDest                 := Value;
    If DataFieldSetDest.Strings[1] <> Value   Then
       DataFieldSetDest.Strings[1] := Value;
    If TableNameSetDest.Strings[0] <> Value   Then
       TableNameSetDest.Strings[0] := Value;
    If Not (FTableNameDest = '')              Then
    Begin
      DataFieldDest    := '';
    End;
    TableNameDestChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.TableNameDestChange;
Begin
  If Assigned(FOnTableNameDestChange) Then
    FOnTableNameDestChange(Self);
End;

{DataFieldDest Property}
{Property Set Method}
{Sets Dest DataField}
//
Unit Description UnitIndex Master Index
procedure TCommonDialog_ads.SetDataFieldDest(Value: String);
Begin
  If FDataFieldDest                <> Value    Then
  Begin
    FDataFieldDest                 := Value;
    If DataFieldSetDest.Strings[0] <> Value    Then
       DataFieldSetDest.Strings[0] := Value;
    DataFieldDestChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.DataFieldDestChange;
Begin
  If Assigned(FOnDataFieldDestChange) Then
    FOnDataFieldDestChange(Self);
End;

{Table Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
procedure TCommonDialog_ads.SetTable(Value: TTable);
Begin
  If FTable <> Value Then
  Begin
    FTable := Value;
    TableChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.TableChange;
Begin
  If Assigned(FOnTableChange) Then
    FOnTableChange(Self);
End;

{ModifyDataSet Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
procedure TCommonDialog_ads.SetModifyDataSet(Value: Boolean);
Begin
  If FModifyDataSet <> Value Then
  Begin
    FModifyDataSet := Value;
    ModifyDataSetChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.ModifyDataSetChange;
Begin
  If Assigned(FOnModifyDataSetChange) Then
    FOnModifyDataSetChange(Self);
End;

{Query Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
procedure TCommonDialog_ads.SetQuery(Value: TQuery);
Begin
  If FQuery <> Value Then
  Begin
    FQuery := Value;
    QueryChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.QueryChange;
Begin
  If Assigned(FOnQueryChange) Then
    FOnQueryChange(Self);
End;

{DataSet Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
procedure TCommonDialog_ads.SetDataSet(Value: TDataSet);
Begin
  If FDataSet <> Value Then
  Begin
    FDataSet := Value;
    DataSetChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.DataSetChange;
Begin
  If Assigned(FOnDataSetChange) Then
    FOnDataSetChange(Self);
End;

{DataSource Property}
{Property Set Method}
//
Unit Description UnitIndex Master Index
procedure TCommonDialog_ads.SetDataSource(Value: TDataSource);
Begin
  If FDataSource <> Value Then
  Begin
    FDataSource       := Value;
    If Not (FDataSource = nil) Then
    Begin
      FDatabaseName     := '';
    End;
    DataSourceChange;
  End;
End;

{Change Event}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.DataSourceChange;
Begin
  If Assigned(FOnDataSourceChange) Then
    FOnDataSourceChange(Self);
End;

{Event occurs prior to the execute method}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.BeforeExecute;
Begin
  If Assigned(FOnBeforeExecute) Then
    FOnBeforeExecute(Self);
End;

{Event occurs After the execute method}
//
Unit Description UnitIndex Master Index
Procedure TCommonDialog_ads.AfterExecute;
Begin
  If Assigned(FOnAfterExecute) Then
    FOnAfterExecute(Self);
End;

end.
//