亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.pas

?? 仿sql查詢分析器
?? PAS
字號:
unit Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, ImgList, ActnList, ComCtrls, ToolWin, ExtCtrls, StdCtrls,
  Buttons, StdActns, Pub, ADOInt, ObjectsBrowser;

type
  TMainForm = class(TForm)
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    ActionList: TActionList;
    ImgList: TImageList;
    ActConnect: TAction;
    ActDisConnect: TAction;
    ActAllDisConnect: TAction;
    ActQuit: TAction;
    ActAbout: TAction;
    N8: TMenuItem;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    ToolButton9: TToolButton;
    ToolButton10: TToolButton;
    ToolButton11: TToolButton;
    ToolButton12: TToolButton;
    ToolButton14: TToolButton;
    ToolButton15: TToolButton;
    ToolButton16: TToolButton;
    ToolButton17: TToolButton;
    ToolButton18: TToolButton;
    ToolButton19: TToolButton;
    ToolButton20: TToolButton;
    ToolButton23: TToolButton;
    ToolButton24: TToolButton;
    PnlObjectBrowser: TPanel;
    BtnHideObjectBrowser: TSpeedButton;
    Splitter1: TSplitter;
    Label1: TLabel;
    Panel2: TPanel;
    StatusBar1: TStatusBar;
    ActExecute: TAction;
    CbxDatabases: TComboBox;
    ToolButton13: TToolButton;
    ActCancelExec: TAction;
    Q1: TMenuItem;
    N9: TMenuItem;
    N10: TMenuItem;
    EditCut1: TEditCut;
    EditCopy1: TEditCopy;
    EditPaste1: TEditPaste;
    EditSelectAll1: TEditSelectAll;
    EditUndo1: TEditUndo;
    E1: TMenuItem;
    U1: TMenuItem;
    N11: TMenuItem;
    T1: TMenuItem;
    C1: TMenuItem;
    P1: TMenuItem;
    S1: TMenuItem;
    N12: TMenuItem;
    N13: TMenuItem;
    ActNew: TAction;
    SearchFind1: TSearchFind;
    SearchFindNext1: TSearchFindNext;
    SearchReplace1: TSearchReplace;
    N14: TMenuItem;
    Find1: TMenuItem;
    FindNext1: TMenuItem;
    Replace1: TMenuItem;
    W1: TMenuItem;
    WindowClose1: TWindowClose;
    WindowCascade1: TWindowCascade;
    WindowTileHorizontal1: TWindowTileHorizontal;
    WindowTileVertical1: TWindowTileVertical;
    WindowMinimizeAll1: TWindowMinimizeAll;
    WindowArrange1: TWindowArrange;
    Cascade1: TMenuItem;
    ileHorizontally1: TMenuItem;
    ileVertically1: TMenuItem;
    N15: TMenuItem;
    ActOpen: TAction;
    ActSave: TAction;
    ActSaveAs: TAction;
    O1: TMenuItem;
    S2: TMenuItem;
    A1: TMenuItem;
    N16: TMenuItem;
    ActPrint: TAction;
    P2: TMenuItem;
    ActParse: TAction;
    IL_TV: TImageList;
    ActObjBrowser: TAction;
    N17: TMenuItem;
    N18: TMenuItem;
    ActResultBox: TAction;
    N19: TMenuItem;
    procedure FormCreate(Sender: TObject);
    procedure ActConnectExecute(Sender: TObject);
    procedure ActExecuteExecute(Sender: TObject);
    procedure ActExecuteUpdate(Sender: TObject);
    procedure ActCancelExecExecute(Sender: TObject);
    procedure ActCancelExecUpdate(Sender: TObject);
    procedure ActNewExecute(Sender: TObject);
    procedure ActNewUpdate(Sender: TObject);
    procedure ActQuitExecute(Sender: TObject);
    procedure CbxDatabasesDropDown(Sender: TObject);
    procedure CbxDatabasesChange(Sender: TObject);
    procedure ActOpenExecute(Sender: TObject);
    procedure ActOpenUpdate(Sender: TObject);
    procedure ActSaveExecute(Sender: TObject);
    procedure ActSaveUpdate(Sender: TObject);
    procedure ActSaveAsExecute(Sender: TObject);
    procedure ActSaveAsUpdate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ActParseExecute(Sender: TObject);
    procedure ActParseUpdate(Sender: TObject);
    procedure ActObjBrowserExecute(Sender: TObject);
    procedure ActObjBrowserUpdate(Sender: TObject);
    procedure BtnHideObjectBrowserClick(Sender: TObject);
    procedure ActAboutExecute(Sender: TObject);
    procedure ActResultBoxExecute(Sender: TObject);
    procedure ActResultBoxUpdate(Sender: TObject);
  private
    FOldActivateFrm: TForm;
    FObjBrowser: TObjectsBrowserPanel;

    function CanExecute: Boolean;

    procedure WMQryFrmActivate(var Msg: TMessage); message WM_QRYFRMACTIVATE;
    procedure WMQryFrmClose(var Msg: TMessage); message WM_QRYFRMCLOSE;
    procedure WMDatabaseChanged(var Msg: TMessage); message WM_DATABASECHANGED;
  public
    { Public declarations }
  end;

var
  MainForm: TMainForm;

implementation

uses Login, SqlQry, About;

{$R *.dfm}

{ TMainForm }

procedure TMainForm.FormCreate(Sender: TObject);
var
  C: _Connection;
begin
  Self.BoundsRect := Screen.WorkAreaRect;
  FObjBrowser := TObjectsBrowserPanel.Create(Self);
  FObjBrowser.Parent := PnlObjectBrowser;
  FObjBrowser.Align := alClient;

  C := CoConnection.Create;
  Pub.ADOVer := C.Version;
end;

procedure TMainForm.ActConnectExecute(Sender: TObject);
var
  frm: TSqlQryFrm;
  frmLog: TLoginFrm;
begin
  frmLog := TLoginFrm.Create(nil);
  try
    if frmLog.ShowModal = mrOK then
    begin
      frm := TSqlQryFrm.Create(Application);
      try
//        frm.UserName := frmLog.UserName;
//        frm.Password := frmLog.Password;
//        frm.AuthType := frmLog.AuthType;
//        frm.Server := frmLog.Server;
        frm.Initialize(frmLog.Connection);

        frm.BringToFront;
      except
        frm.Free;
        raise;
      end;

      FObjBrowser.AddServer(frmLog.Server, frmLog.UserName, frmLog.Password,
                frm.ServerName, frm.SUserName, frmLog.AuthType);
//      FObjBrowser.AddServer(frm.Server, frm.UserName, frm.Password, frm.ServerName,
//                frm.SUserName, frm.AuthType);
    end;
  finally
    frmLog.Free;
  end;
end;

procedure TMainForm.ActExecuteExecute(Sender: TObject);
var
  frm: TSqlQryFrm;
begin
  frm := Self.ActiveMDIChild as TSqlQryFrm;
  if frm <> nil then
    frm.Execute;
end;

procedure TMainForm.ActExecuteUpdate(Sender: TObject);
begin
  TAction(Sender).Enabled := CanExecute;
  CbxDatabases.Enabled := TAction(Sender).Enabled;
end;

procedure TMainForm.ActParseExecute(Sender: TObject);
var
  frm: TSqlQryFrm;
begin
  frm := Self.ActiveMDIChild as TSqlQryFrm;
  if frm <> nil then
    frm.ParseSQL;
end;

procedure TMainForm.ActParseUpdate(Sender: TObject);
begin
  TAction(Sender).Enabled := CanExecute;
end;

procedure TMainForm.ActCancelExecExecute(Sender: TObject);
var
  frm: TSqlQryFrm;
begin
  frm := Self.ActiveMDIChild as TSqlQryFrm;
  if frm <> nil then
    frm.CancelExecute;
end;

procedure TMainForm.ActCancelExecUpdate(Sender: TObject);
begin
  TAction(Sender).Enabled := (Self.ActiveMDIChild <> nil) and not CanExecute;
end;

function TMainForm.CanExecute: Boolean;
var
  frm: TForm;
begin
  frm := Self.ActiveMDIChild;
  if frm = nil then
    Result := False
  else
    Result := not (frm as TSqlQryFrm).Executing
end;

procedure TMainForm.ActNewExecute(Sender: TObject);
var
  frm, curFrm: TSqlQryFrm;
  Conn: _Connection;
begin
  curFrm := Self.ActiveMDIChild as TSqlQryFrm;
  if CurFrm = nil then Exit;

  Conn := CoConnection.Create;
  Conn.ConnectionString := curFrm.ConnectionString;
  Conn.Open('', '', '', -1);

  frm := TSqlQryFrm.Create(Application);
  try
//    frm.UserName := CurFrm.UserName;
//    frm.Password := CurFrm.Password;
//    frm.AuthType := CurFrm.AuthType;
//    frm.Server := CurFrm.Server;
    frm.Initialize(Conn);

    frm.Database := CurFrm.Database;
    frm.BringToFront;
  except
    frm.Free;
    Application.HandleException(Self);
  end;
end;

procedure TMainForm.ActNewUpdate(Sender: TObject);
begin
  TAction(Sender).Enabled := (Self.ActiveMDIChild <> nil);
end;

procedure TMainForm.ActQuitExecute(Sender: TObject);
begin
  Close;
end;

procedure TMainForm.ActOpenExecute(Sender: TObject);
var
  frm: TSqlQryFrm;
begin
  frm := Self.ActiveMDIChild as TSqlQryFrm;
  if frm = nil then Exit;

  frm.LoadFile;
end;

procedure TMainForm.ActOpenUpdate(Sender: TObject);
begin
  TAction(Sender).Enabled := (Self.ActiveMDIChild <> nil);
end;

procedure TMainForm.ActSaveExecute(Sender: TObject);
var
  frm: TSqlQryFrm;
begin
  frm := Self.ActiveMDIChild as TSqlQryFrm;
  if frm = nil then Exit;

  frm.SaveFile;
end;

procedure TMainForm.ActSaveUpdate(Sender: TObject);
begin
  TAction(Sender).Enabled := (Self.ActiveMDIChild <> nil);
end;

procedure TMainForm.ActSaveAsExecute(Sender: TObject);
var
  frm: TSqlQryFrm;
begin
  frm := Self.ActiveMDIChild as TSqlQryFrm;
  if frm = nil then Exit;

  frm.SaveAs;
end;

procedure TMainForm.ActSaveAsUpdate(Sender: TObject);
begin
  TAction(Sender).Enabled := (Self.ActiveMDIChild <> nil);
end;

procedure TMainForm.CbxDatabasesDropDown(Sender: TObject);
var
  frm: TSqlQryFrm;
  list: TStringList;
  I: Integer;
begin
  if Self.ActiveMDIChild = nil then Exit;

  frm := Self.ActiveMDIChild as TSqlQryFrm;
  list := nil;
  Screen.Cursor := crHourGlass;
  try
    list := frm.GetDatabaseList;
    CbxDatabases.Items.Assign(list);
    I := CbxDatabases.Items.IndexOf(frm.Database);
    if I >= 0 then
      CbxDatabases.ItemIndex := I;
  finally
    list.Free;
    Screen.Cursor := crDefault;
  end;
end;

procedure TMainForm.CbxDatabasesChange(Sender: TObject);
var
  frm: TSqlQryFrm;
begin
  if Self.ActiveMDIChild = nil then Exit;
  frm := Self.ActiveMDIChild as TSqlQryFrm;
  frm.Database := CbxDatabases.Items[CbxDatabases.ItemIndex];
end;

procedure TMainForm.WMQryFrmActivate(var Msg: TMessage);
var
  frm: TSqlQryFrm;
  I: Integer;
begin
  // 子窗口成為活動窗口.

  frm := Self.ActiveMDIChild as TSqlQryFrm;
  if frm = nil then Exit;
  if frm = Self.FOldActivateFrm then Exit;

  // 更新當前數據庫.
  I := CbxDatabases.Items.IndexOf(frm.Database);
  if I = -1 then
    I := CbxDatabases.Items.Add(frm.Database);
  CbxDatabases.ItemIndex := I;
  FOldActivateFrm := frm;
end;

procedure TMainForm.WMQryFrmClose(var Msg: TMessage);
begin
  // 子窗口關閉.

  if ActiveMDIChild = nil then
  begin
    CbxDataBases.Clear;
  end;
end;

procedure TMainForm.WMDatabaseChanged(var Msg: TMessage);
var
  frm: TSqlQryFrm;
  I: Integer;
begin
  // 子窗口的當前數據庫已經改變.

  frm := Self.ActiveMDIChild as TSqlQryFrm;
  if frm = nil then Exit;
  I := CbxDatabases.Items.IndexOf(frm.Database);
  if I = -1 then
    I := CbxDatabases.Items.Add(frm.Database);
  CbxDatabases.ItemIndex := I;
end;

procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//
end;

procedure TMainForm.ActObjBrowserExecute(Sender: TObject);
begin
  if PnlObjectBrowser.Visible then
  begin
    PnlObjectBrowser.Visible := False;
    Splitter1.Visible := False;
  end
  else
  begin
    Splitter1.Visible := True;
    PnlObjectBrowser.Visible := True;
  end;
end;

procedure TMainForm.ActObjBrowserUpdate(Sender: TObject);
begin
  TAction(Sender).Checked := PnlObjectBrowser.Visible;
end;

procedure TMainForm.BtnHideObjectBrowserClick(Sender: TObject);
begin
  ActObjBrowser.Execute;
end;

procedure TMainForm.ActAboutExecute(Sender: TObject);
var
  frm: TAboutBox;
begin
  frm := TAboutBox.Create(nil);
  try
    frm.ShowModal;
  finally
    frm.Free;
  end;
end;

procedure TMainForm.ActResultBoxExecute(Sender: TObject);
var
  frm: TSqlQryFrm;
begin
  frm := Self.ActiveMDIChild as TSqlQryFrm;
  if frm = nil then Exit;

  frm.ToggleResultBox;
end;

procedure TMainForm.ActResultBoxUpdate(Sender: TObject);
var
  frm: TSqlQryFrm;
begin
  frm := Self.ActiveMDIChild as TSqlQryFrm;
  TAction(Sender).Checked := (frm <> nil) and (frm.ResultBoxVisible);
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99v久久综合狠狠综合久久| 91精品国产aⅴ一区二区| 久久久久亚洲蜜桃| 久99久精品视频免费观看| 亚洲欧美日韩电影| 成人不卡免费av| 亚洲色图欧美偷拍| 欧美网站一区二区| 日本亚洲免费观看| 亚洲精品在线观| 国产jizzjizz一区二区| 国产精品久久久久9999吃药| 99精品欧美一区二区三区综合在线| 亚洲日本va午夜在线影院| 91福利精品视频| 日av在线不卡| 中日韩免费视频中文字幕| 91在线看国产| 青青草97国产精品免费观看无弹窗版| 日韩亚洲欧美一区| 高清国产一区二区三区| 亚洲欧美日韩国产手机在线| 欧美剧情片在线观看| 极品少妇xxxx精品少妇偷拍| 国产精品国产自产拍在线| 欧洲生活片亚洲生活在线观看| 日韩电影在线免费看| 国产精品视频一二| 欧美日韩高清在线| 成人深夜在线观看| 男人的天堂久久精品| 国产精品天天摸av网| 欧美精品少妇一区二区三区| 国产精品一区一区| 亚洲第四色夜色| 久久久久97国产精华液好用吗| 91片在线免费观看| 另类欧美日韩国产在线| 亚洲天堂av一区| 久久免费美女视频| 欧美日韩另类国产亚洲欧美一级| 国产最新精品精品你懂的| 亚洲一区二区欧美日韩| 国产拍欧美日韩视频二区 | 开心九九激情九九欧美日韩精美视频电影| 久久精品在这里| 欧美一区国产二区| 色悠悠久久综合| 夫妻av一区二区| 久草中文综合在线| 天天综合色天天综合色h| 国产日韩欧美一区二区三区综合 | 午夜免费欧美电影| 中文字幕一区二区三区不卡在线 | 精品国产一区二区在线观看| 在线观看视频一区二区| 国产a级毛片一区| 激情久久五月天| 日韩av电影免费观看高清完整版| 亚洲欧美另类综合偷拍| 欧美激情一区二区三区不卡 | 欧美精品电影在线播放| 91蝌蚪porny成人天涯| 国产成人亚洲综合色影视| 免费观看久久久4p| 日韩高清电影一区| 日韩在线卡一卡二| 日韩电影在线一区二区三区| 午夜激情综合网| 午夜精品久久久久久久久| 亚洲午夜激情网页| 香蕉影视欧美成人| 亚洲成在人线在线播放| 亚洲成人777| 亚洲国产日韩综合久久精品| 亚洲精品国产无天堂网2021| 亚洲欧美日韩国产一区二区三区| 国产精品久久久爽爽爽麻豆色哟哟| 国产亚洲制服色| 国产女人aaa级久久久级 | 男人的天堂久久精品| 日本在线观看不卡视频| 日韩电影在线看| 精品中文字幕一区二区小辣椒| 日本不卡视频在线| 精品中文av资源站在线观看| 黑人精品欧美一区二区蜜桃| 国产一区二区福利视频| 丁香天五香天堂综合| 不卡的电影网站| 91免费国产在线观看| 欧美系列一区二区| 91精品国产综合久久久久久久 | 92精品国产成人观看免费 | 国产乱淫av一区二区三区| 国产久卡久卡久卡久卡视频精品| 国产精品性做久久久久久| 国产成+人+日韩+欧美+亚洲| 成人app在线观看| 91久久久免费一区二区| 91.xcao| 欧美大黄免费观看| 亚洲欧洲一区二区三区| 亚洲bdsm女犯bdsm网站| 韩国在线一区二区| 一本久道中文字幕精品亚洲嫩| 欧美系列日韩一区| 精品精品国产高清a毛片牛牛 | ww久久中文字幕| 欧美激情一区二区三区| 亚洲综合在线电影| 久久精品久久精品| 不卡视频在线观看| 91精品国产综合久久久久久久久久| 久久久久久免费| 一区二区免费看| 欧美日韩黄色一区二区| 久久午夜色播影院免费高清| 亚洲同性gay激情无套| 日本视频一区二区| 91在线高清观看| 精品久久一区二区| 亚洲综合丝袜美腿| 国产91富婆露脸刺激对白| 欧美日韩在线精品一区二区三区激情 | 午夜久久久久久久久| 国产高清无密码一区二区三区| 色综合激情久久| 久久久精品tv| 日韩精品福利网| 色一情一伦一子一伦一区| 欧美tk—视频vk| 亚洲在线免费播放| 国产一区二区三区蝌蚪| 欧美色图免费看| 国产精品国产三级国产普通话三级| 同产精品九九九| 色999日韩国产欧美一区二区| 久久一区二区三区四区| 亚洲国产成人tv| 99r精品视频| 国产日产精品一区| 久久精品999| 91精品国产入口| 亚洲国产va精品久久久不卡综合 | av男人天堂一区| 精品国产一区二区三区久久久蜜月| 一区二区三区四区在线免费观看 | 免费视频最近日韩| 99久久伊人久久99| 日本一区二区高清| 国产一区二区三区| 精品美女一区二区| 麻豆成人久久精品二区三区小说| 欧美中文字幕亚洲一区二区va在线 | 亚洲一区中文日韩| 成人av动漫网站| 中文字幕欧美一| proumb性欧美在线观看| 国产欧美视频一区二区三区| 久久精品国内一区二区三区| 91精品欧美一区二区三区综合在| 一级做a爱片久久| 色欧美88888久久久久久影院| 国产精品天美传媒| 东方aⅴ免费观看久久av| 国产女同性恋一区二区| 国产一区二区免费视频| 国产校园另类小说区| 国产一区二区三区在线看麻豆| 精品日韩欧美在线| 国产又粗又猛又爽又黄91精品| 精品国产伦一区二区三区观看方式 | 亚洲美女精品一区| 一本色道久久综合精品竹菊| 亚洲欧美色综合| 在线看国产一区二区| 亚洲一区二区三区在线看| 在线观看日韩一区| 三级不卡在线观看| 日韩精品一区二区在线| 国内精品久久久久影院色| 国产日韩精品一区| 99精品欧美一区二区三区小说| 亚洲乱码国产乱码精品精的特点 | 风流少妇一区二区| 国产精品久久久一区麻豆最新章节| 成人免费观看视频| 亚洲欧美一区二区久久| 欧美亚洲日本国产| 精品综合久久久久久8888| 国产无人区一区二区三区| 懂色av一区二区夜夜嗨| 亚洲美女免费在线| 欧美一个色资源| 粉嫩嫩av羞羞动漫久久久| 亚洲欧美日韩一区二区| 在线成人高清不卡| 国产经典欧美精品| 亚洲乱码国产乱码精品精98午夜|