⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 umain.pas

📁 是一个delphi的流程制作软件
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit uMain;
{DISCLAIMER
--------------------
This source code is the property of Core Software.  You may use and distrubute
this source code at your own risk.  Warantee as to the to the completeness,
robustness, timliness, or any issue relevant to this source code whatsoever is
not expressed or implied in any way.

FREE INFORMATION
--------------------
Most companies disallow any religious content to be published in articles or
submitted material which is made public.  This is illegal.  I have a constitutional
right to practice my religion, which includes bringing the news of Jesus Christ
to the world.  It is not my intention to invade anyone's privacy, insult, or offend
any person - religious or not.

Jesus Loves You!


Core Software
CTO, Jason 'Wedge' Perry
534 Denver Ave
Chesapeake, VA 23322
jason.perry@home.com
AOL Instant Messager : GuiOOP
ICQ Pager Address : 37953032
}

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls, Grids, DBGrids, ComCtrls, Buttons, Menus, IniFiles;

type
  TfrmMain = class(TForm)
    pnlObjects: TPanel;
    Splitter1: TSplitter;
    pnlScript: TPanel;
    grdData: TDBGrid;
    splitData: TSplitter;
    pnlDetails: TPanel;
    Splitter4: TSplitter;
    Label3: TLabel;
    tvObjects: TTreeView;
    Panel3: TPanel;
    chkSaveDesktop: TCheckBox;
    popObjects: TPopupMenu;
    RefreshAliases1: TMenuItem;
    Re1: TMenuItem;
    chkShowData: TCheckBox;
    popDADLayout: TPopupMenu;
    aliasfield1: TMenuItem;
    Field1: TMenuItem;
    fielddatatype1: TMenuItem;
    Field2: TMenuItem;
    FieldField1: TMenuItem;
    FieldFieldand1: TMenuItem;
    AliasFieldFieldand1: TMenuItem;
    btnSaveScript: TSpeedButton;
    btnClear: TSpeedButton;
    btnNew: TSpeedButton;
    btnExecute: TSpeedButton;
    pgcScript: TPageControl;
    tabDetails: TTabSheet;
    tabMacro: TTabSheet;
    lvDetails: TListView;
    lvMacros: TListView;
    FieldField2: TMenuItem;
    Field3: TMenuItem;
    chkClearResults: TCheckBox;
    pgcResults: TPageControl;
    tabScript: TTabSheet;
    memScript: TMemo;
    tabResults: TTabSheet;
    memResults: TMemo;
    tabObjText: TTabSheet;
    memObjText: TMemo;
    popMacros: TPopupMenu;
    RefreshMacroList1: TMenuItem;
    popObjectLayout: TPopupMenu;
    MenuItem2: TMenuItem;
    spAliasget1: TMenuItem;
    spAliasins1: TMenuItem;
    spAlias4upd1: TMenuItem;
    spAliasdel1: TMenuItem;
    spAlias1: TMenuItem;
    rgDelimiter: TRadioGroup;
    txtDelimiter: TEdit;
    btnLoad: TSpeedButton;
    N1: TMenuItem;
    CreateGetProcedure1: TMenuItem;
    CreateInsProcedure1: TMenuItem;
    CreateUpdProcedure1: TMenuItem;
    CreateDelProcedure1: TMenuItem;
    rdbExecute: TRadioButton;
    rdbParse: TRadioButton;
    procedure RefreshAliases1Click(Sender: TObject);
    procedure tvObjectsChange(Sender: TObject; Node: TTreeNode);
    procedure Re1Click(Sender: TObject);
    procedure chkShowDataClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure memScriptDragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    procedure Field1Click(Sender: TObject);
    procedure aliasfield1Click(Sender: TObject);
    procedure fielddatatype1Click(Sender: TObject);
    procedure memScriptDragDrop(Sender, Source: TObject; X, Y: Integer);
    procedure Field2Click(Sender: TObject);
    procedure FieldField1Click(Sender: TObject);
    procedure FieldFieldand1Click(Sender: TObject);
    procedure AliasFieldFieldand1Click(Sender: TObject);
    procedure btnSaveScriptClick(Sender: TObject);
    procedure btnClearClick(Sender: TObject);
    procedure btnNewClick(Sender: TObject);
    procedure btnExecuteClick(Sender: TObject);
    procedure pgcScriptChange(Sender: TObject);
    procedure CreateGetProcedure1Click(Sender: TObject);
    procedure CreateInsProcedure1Click(Sender: TObject);
    procedure CreateDelProcedure1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure FormResize(Sender: TObject);
    procedure FieldField2Click(Sender: TObject);
    procedure Field3Click(Sender: TObject);
    procedure pgcResultsChange(Sender: TObject);
    procedure RefreshMacroList1Click(Sender: TObject);
    procedure popObjectsPopup(Sender: TObject);
    procedure MenuItem2Click(Sender: TObject);
    procedure spAlias1Click(Sender: TObject);
    procedure spAliasget1Click(Sender: TObject);
    procedure spAliasins1Click(Sender: TObject);
    procedure spAlias4upd1Click(Sender: TObject);
    procedure spAliasdel1Click(Sender: TObject);
    procedure btnLoadClick(Sender: TObject);
    procedure CreateUpdProcedure1Click(Sender: TObject);
  protected
  private
    dropSource : TObject;
    dropX : integer;
    dropY : integer;
    lRefresh : boolean;
    procedure DoPopMenuGUI;
    procedure SaveFormSettings;
    procedure LoadFormSettings;
  public
  end;

var
  frmMain: TfrmMain;

implementation

uses dmSQL;

{$R *.DFM}

{
Load and manipulate the treeview control.
}
procedure TfrmMain.tvObjectsChange(Sender: TObject; Node: TTreeNode);
begin
  lockWindowUpdate(self.handle);
  try
    if lRefresh then exit;
    bo_SQL.ManageTreeView(TTreeView(sender));
    bo_SQL.GetDetails(Node, lvDetails);
    if (pgcResults.activepage.pageindex = 2) then bo_SQL.GetSQLScriptText(memObjText, Node);
    if chkShowData.checked then bo_SQL.GetData(Node);
    DoPopMenuGUI;
  finally
    lockwindowupdate(0);
  end;
end;

{
Control the GUI based on the treeview.
}
procedure TfrmMain.DoPopMenuGUI;
begin
  RefreshAliases1.enabled := (not (tvObjects.selected = nil)) and
                             (not (tvObjects.selected.level = 1)) and
                             (not (tvObjects.selected.level > 3));

  btnExecute.enabled := (tvObjects.selected <> nil) and
                        (tvObjects.selected.level > 0);

  CreateGetProcedure1.enabled := (tvObjects.selected <> nil) and
                                 (tvObjects.selected.level = 3) and
                                 (tvObjects.selected.parent.Text = 'tables');
  CreateInsProcedure1.enabled := CreateGetProcedure1.enabled;
  CreateUpdProcedure1.enabled := CreateGetProcedure1.enabled;
  CreateDelProcedure1.enabled := CreateGetProcedure1.enabled;
end;

{
Refresh the servers.
}
procedure TfrmMain.Re1Click(Sender: TObject);
begin
  lRefresh := true;
  bo_SQL.LoadServers(tvObjects);
  lRefresh := false;
end;

{
Refresh the selected branch.
}
procedure TfrmMain.RefreshAliases1Click(Sender: TObject);
begin
  lRefresh := true;
  bo_SQL.RefreshBranch(tvObjects);
  lRefresh := false;
end;

procedure TfrmMain.chkShowDataClick(Sender: TObject);
begin
  splitData.visible := true;
  grdData.visible := chkShowData.checked;
  splitData.top := height - grdData.height;
  if chkShowData.checked then bo_SQL.GetData(tvObjects.selected);
end;

{
OnCreate load the servers for the first time.
}
procedure TfrmMain.FormCreate(Sender: TObject);
begin
  bo_SQL.LoadServers(tvObjects);
  doPopMenuGUI;
end;

procedure TfrmMain.memScriptDragOver(Sender, Source: TObject; X,
  Y: Integer; State: TDragState; var Accept: Boolean);
begin
  if (Source is TListView) then
    Accept := True
  else if (Source is TTreeView) and
          (TTreeView(Source).Selected <> nil) and
          (TTreeView(Source).Selected.level = 3) then
    Accept := True
  else
    Accept := false;
end;

{
Format the drop text according to the user menu selection.
}
procedure TfrmMain.Field1Click(Sender: TObject);
begin
  bo_SQL.FormatDADLayout(dropSource, dad_Field, memScript);
end;

procedure TfrmMain.Field2Click(Sender: TObject);
begin
  bo_SQL.FormatDADLayout(dropSource, dad_aField, memScript);
end;

procedure TfrmMain.Field3Click(Sender: TObject);
begin
  bo_SQL.FormatDADLayout(dropSource, dad_aField2, memScript);
end;

procedure TfrmMain.aliasfield1Click(Sender: TObject);
begin
  bo_SQL.FormatDADLayout(dropSource, dad_Alias_Field, memScript);
end;

procedure TfrmMain.FieldField1Click(Sender: TObject);
begin
  bo_SQL.FormatDADLayout(dropSource, dad_aField_Equals_Field, memScript);
end;

procedure TfrmMain.fielddatatype1Click(Sender: TObject);
begin
  bo_SQL.FormatDADLayout(dropSource, dad_aField_DataType, memScript);
end;

procedure TfrmMain.FieldFieldand1Click(Sender: TObject);
begin
  bo_SQL.FormatDADLayout(dropSource, dad_Field_Equals_aField_and, memScript);
end;

procedure TfrmMain.FieldField2Click(Sender: TObject);
begin
  bo_SQL.FormatDADLayout(dropSource, dad_Field_Equals_aField, memScript);
end;

procedure TfrmMain.AliasFieldFieldand1Click(Sender: TObject);
begin
  bo_SQL.FormatDADLayout(dropSource, dad_Alias_Field_Equals_aField_and, memScript);
end;

// From treeview.
procedure TfrmMain.MenuItem2Click(Sender: TObject);
begin
  bo_SQL.FormatDADLayout(dropSource, dad_Alias, memScript);
end;

procedure TfrmMain.spAlias1Click(Sender: TObject);
begin
  bo_SQL.FormatDADLayout(dropSource, dad_SP_Alias, memScript);
end;

procedure TfrmMain.spAliasget1Click(Sender: TObject);
begin
  bo_SQL.FormatDADLayout(dropSource, dad_SP_Alias_Get, memScript);
end;

procedure TfrmMain.spAliasins1Click(Sender: TObject);
begin
  bo_SQL.FormatDADLayout(dropSource, dad_SP_Alias_Ins, memScript);
end;

procedure TfrmMain.spAlias4upd1Click(Sender: TObject);
begin
  bo_SQL.FormatDADLayout(dropSource, dad_SP_Alias_Upd, memScript);
end;

procedure TfrmMain.spAliasdel1Click(Sender: TObject);
begin
  bo_SQL.FormatDADLayout(dropSource, dad_SP_Alias_Del, memScript);
end;


procedure TfrmMain.memScriptDragDrop(Sender, Source: TObject; X,
  Y: Integer);
var
  Point : TPoint;
  lcv : integer;
  iLastPos : integer;

  {
  Determine whether to replace selected text or insert new lines.
  }
  procedure InsertMemoText(sText : string);
  begin
    if memScript.SelText <> '' then begin
      memScript.SelText := sText;
      dec(iLastPos);
    end else begin
      memScript.Lines.Insert(iLastPos, sText);
    end;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -