home *** CD-ROM | disk | FTP | other *** search
- unit Dbmain;
-
- interface
-
- uses WinTypes, WinProcs, SysUtils, Classes, Graphics, Forms, Controls, Menus,
- StdCtrls, Dialogs, Buttons, Messages, ExtCtrls, Db, DBCtrls;
-
- type
- TDbMainForm = class(TForm)
- MainMenu: TMainMenu;
- Panel1: TPanel;
- StatusLine: TPanel;
- Db: TMenuItem;
- MOpenDb: TMenuItem;
- Panel2: TPanel;
- MClose: TMenuItem;
- Window1: TMenuItem;
- Help1: TMenuItem;
- N1: TMenuItem;
- MExitApp: TMenuItem;
- WindowCascadeItem: TMenuItem;
- WindowTileItem: TMenuItem;
- WindowArrangeItem: TMenuItem;
- HelpAboutItem: TMenuItem;
- Edit1: TMenuItem;
- CutItem: TMenuItem;
- CopyItem: TMenuItem;
- PasteItem: TMenuItem;
- WindowMinimizeItem: TMenuItem;
- SpeedPanel: TPanel;
- SBOpen: TSpeedButton;
- SBClose: TSpeedButton;
- SBCut: TSpeedButton;
- SBCopy: TSpeedButton;
- SBPaste: TSpeedButton;
- SBExitApp: TSpeedButton;
- SBViewTable: TSpeedButton;
- SBEnterSQL: TSpeedButton;
- MViewTable: TMenuItem;
- MEnterSQL: TMenuItem;
- SBExecSQL: TSpeedButton;
- MExecSQL: TMenuItem;
- ReadNavigator: TDBNavigator;
- WriteNavigator: TDBNavigator;
- procedure FormCreate(Sender: TObject);
- procedure WindowCascadeItemClick(Sender: TObject);
- procedure WindowDropDown(Sender: TObject);
- procedure WindowTileItemClick(Sender: TObject);
- procedure WindowArrangeItemClick(Sender: TObject);
- procedure CloseWindowClick(Sender: TObject);
- procedure OpenDbClick(Sender: TObject);
- procedure ExitAppClick(Sender: TObject);
- procedure CutItemClick(Sender: TObject);
- procedure CopyItemClick(Sender: TObject);
- procedure PasteItemClick(Sender: TObject);
- procedure WindowMinimizeItemClick(Sender: TObject);
- procedure ViewTableClick(Sender: TObject);
- procedure EnterSQLClick(Sender: TObject);
- procedure ExecuteSQLClick(Sender: TObject);
- procedure HelpAboutItemClick(Sender: TObject);
- private
- procedure ShowHint(Sender: TObject);
- public
- procedure ShowAsHint (const Hint: string);
- procedure FormCloseActive (Sender: TObject; var Action: TCloseAction);
- procedure SetActiveForm (DSR, DSW: TDataSource);
- end;
-
- var
- DbMainForm: TDbMainForm;
-
- implementation
-
- {$R *.DFM}
-
- uses DbForm, Dbbrowse, DbSql, Opendb, DbExcept, About;
-
- procedure TDbMainForm.FormCreate(Sender: TObject);
- begin
- Application.OnHint := ShowHint;
- end;
-
- procedure TDbMainForm.ShowHint(Sender: TObject);
- begin
- StatusLine.Caption := Application.Hint;
- end;
-
- procedure TDbMainForm.ShowAsHint (const Hint: string);
- begin
- StatusLine.Caption := Hint;
- end;
-
- procedure TDbMainForm.SetActiveForm (DSR, DSW: TDataSource);
- var
- HasDb, IsBrowser, CanExecute: Boolean;
- begin
- HasDb := ActiveMDIChild is TDbForm;
- IsBrowser := ActiveMDIChild is TDbBrowseForm;
- CanExecute := ActiveMDIChild is TSQLForm;
-
- MClose.Enabled := True; SBClose.Enabled := True;
- MViewTable.Enabled := IsBrowser; SBViewTable.Enabled := IsBrowser;
- MEnterSQL.Enabled := HasDb; SBEnterSQL.Enabled := HasDb;
- MExecSQL.Enabled := CanExecute; SBExecSQL.Enabled := CanExecute;
-
- ReadNavigator.DataSource := DSR;
- ReadNavigator.Enabled := DSR <> nil;
-
- WriteNavigator.DataSource := DSW;
- WriteNavigator.Enabled := DSW <> nil;
- end;
-
- procedure TDbMainForm.FormCloseActive(Sender: TObject; var Action: TCloseAction);
- begin
- MClose.Enabled := False; SBClose.Enabled := False;
- MViewTable.Enabled := False; SBViewTable.Enabled := False;
- MEnterSQL.Enabled := False; SBEnterSQL.Enabled := False;
- MViewTable.Enabled := False; SBViewTable.Enabled := False;
- MExecSQL.Enabled := False; SBExecSQL.Enabled := False;
- ReadNavigator.Enabled := False;
- WriteNavigator.Enabled := False;
- Action := caFree
- end;
-
- procedure TDbMainForm.OpenDbClick(Sender: TObject);
- begin
- if OpenDbDlg.ShowModal = mrOk then
- TDbBrowseForm.Create (Application, OpenDbDlg.AliasName)
- end;
-
- procedure TDbMainForm.CloseWindowClick(Sender: TObject);
- begin
- ActiveMDIChild.Close
- end;
-
- procedure TDbMainForm.ExitAppClick(Sender: TObject);
- begin
- Close;
- end;
-
- procedure TDbMainForm.CutItemClick(Sender: TObject);
- begin
- {cut selection to clipboard}
- end;
-
- procedure TDbMainForm.CopyItemClick(Sender: TObject);
- begin
- {copy selection to clipboard}
- end;
-
- procedure TDbMainForm.PasteItemClick(Sender: TObject);
- begin
- {paste from clipboard}
- end;
-
- procedure TDbMainForm.WindowDropDown(Sender: TObject);
- begin
- WindowCascadeItem.Enabled := MDIChildCount > 0;
- WindowTileItem.Enabled := MDIChildCount > 0;
- WindowArrangeItem.Enabled := MDIChildCount > 0;
- WindowMinimizeItem.Enabled := MDIChildCount > 0;
- end;
-
- procedure TDbMainForm.WindowCascadeItemClick(Sender: TObject);
- begin
- Cascade;
- end;
-
- procedure TDbMainForm.WindowTileItemClick(Sender: TObject);
- begin
- Tile;
- end;
-
- procedure TDbMainForm.WindowArrangeItemClick(Sender: TObject);
- begin
- ArrangeIcons;
- end;
-
- procedure TDbMainForm.WindowMinimizeItemClick(Sender: TObject);
- var
- I: Integer;
- begin
- { Must be done backwards through the MDIChildren array }
- for I := MDIChildCount - 1 downto 0 do
- MDIChildren[I].WindowState := wsMinimized;
- end;
-
- procedure TDbMainForm.ViewTableClick(Sender: TObject);
- begin
- with ActiveMDIChild as TDbBrowseForm do
- CreateTableView;
- end;
-
- procedure TDbMainForm.EnterSQLClick(Sender: TObject);
- begin
- with ActiveMDIChild as TDbForm do
- CreateSQLForm;
- end;
-
- procedure TDbMainForm.ExecuteSQLClick(Sender: TObject);
- begin
- with ActiveMDIChild as TSQLForm do
- ExecuteSQL;
- end;
-
- procedure TDbMainForm.HelpAboutItemClick(Sender: TObject);
- begin
- AboutBox.ShowModal;
- end;
-
- end.
-