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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? unit_main.pas

?? DELPHI中的快速報(bào)表控件
?? PAS
?? 第 1 頁 / 共 4 頁
字號:
  Reg.Free;

  TmpStrList := TStringList.Create;
//  TmpStrList.Sorted := True;
  Session.GetAliasNames(TmpStrList);
  TmpStrList.Sort;
//  AddSubStrings(TreeViewEn1.Items[0],TmpStrList);
  if TmpStrList.Count>0 then
  begin
    TmpNode := TreeView1.Items.AddChildObjectFirst(TreeView1.Items.Item[0],TmpStrList.Strings[0],0);
    TreeView1.Items.AddChildObjectFirst(TmpNode,'Tables',0);
    For i:= 1 to TmpStrList.Count-1 do
    begin
      TmpNode := TreeView1.Items.AddChildObject(TreeView1.Items[0],TmpStrList.Strings[i],0);
      TreeView1.Items.AddChildObjectFirst(TmpNode,'Tables',0);
    end;
  end;
  show;
end;

procedure TFormMain.FormClose(Sender: TObject; var Action: TCloseAction);
var
  I:integer;
  Reg : TInifile;
begin
  For I:=0 to 31 do if HistorySql[i]<>nil then HistorySql[i].Free;
  if TreeView1.Tag <> -1 then
    if MessageDlg(#13#10+'需要保存所做的編輯嗎?',mtInformation,[mbYes,mbNo],0)=mrYes
      then Apply1Click(nil);
  TmpStrList.Free;
  BBStream.Free;

  Reg:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'UsSearch0.ini');
  Reg.WriteInteger('SavedSize','State',Integer(Windowstate));
  if WindowState = wsNormal then
  begin
    Reg.WriteInteger('SavedSize','Left',Left);
    Reg.WriteInteger('SavedSize','Top',Top);
    Reg.WriteInteger('SavedSize','Width',Width);
    Reg.WriteInteger('SavedSize','Height',Height);
  end;
end;

procedure TFormMain.N8Click(Sender: TObject);
var
  Reg : TIniFile;
  Str:String;
begin
  if GetSelectedDir('',Str) then
    try
//      Str:=ExtractFilePath(ParamStr(0))+'UsZSGLSearch.ini';
      Reg:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'UsSearch0.ini');
      Reg.WriteString('SaveDir','Dir1',Str);
      OpenDialog1.InitialDir:=Str;
      SaveDialog1.InitialDir:=Str;
    finally
      reg.Free;
    end;
end;

procedure TFormMain.N5Click(Sender: TObject);
begin
  RichEdit1.CutToClipboard;
end;

procedure TFormMain.N6Click(Sender: TObject);
begin
  RichEdit1.CopyToClipboard;
end;

procedure TFormMain.N7Click(Sender: TObject);
begin
  RichEdit1.SelText := ClipBoard.Astext;
end;

procedure TFormMain.PopupMenu1Popup(Sender: TObject);
begin
  if PopupMenu1.Tag =0 then
  begin
    N5.Enabled:=RichEdit1.SelLength>0;
    N6.Enabled:=N5.Enabled;
    N7.Enabled:=Clipboard.AsText<>'';
  end
  else begin
    N5.Enabled:=RichEdit1.SelLength>0;
    N6.Enabled:=N5.Enabled;
    N7.Enabled:=Clipboard.AsText<>'';
  end;
  N1.Enabled:=RichEdit1.Text<>'';
end;

procedure TFormMain.TreeView1GetImageIndex(Sender: TObject;
  Node: TTreeNode);
var
  Tmp_Str: String;
begin
//  Tmp_Str := TreeViewEn1.GetPath(Node);
  node.ImageIndex := node.Level+1;

end;

const
  FieldTypeStr :array[0..35]of string = ('Unknown','String','Smallint','Integer','Word','Boolean','Float','Currency','BCD','Date','Time','DateTime','Bytes','VarBytes','AutoInc','Blob','Memo','Graphic','FmtMemo','ParadoxOle','DBaseOle','TypedBinary','Cursor','FixedChar','WideString','Largeint','ADT','Array','Reference','DataSet','OraBlob','OraClob','Variant','Interface','IDispatch','Guid');
procedure TFormMain.TreeView1Change(Sender: TObject; Node: TTreeNode);
var
  i : integer;
  procedure ChangeDatabase;
  var
    TD :TDataBase;
  begin
//    if CurrAliasNode.Data=Pointer(0) then Exit;
    if Query1.Active then Query1.Close;
    if Assigned(CurrAliasNode) and Assigned(OldAliasNode) then
    begin
    if OldAliasNode.Data<>Pointer(0) then begin
      TD := Session.FindDatabase(OldAliasNode.Text);
      if TD<>nil then TD.Close;
      Query1.DatabaseName := CurrAliasNode.Text;
      try
        Session.OpenDatabase(OldAliasNode.Text);
      except
        with OldAliasNode do
        if Integer(Data)=1 then
        begin
          Collapse(False);
          Item[0].DeleteChildren;
          Data := 0;
          Item[0].Data := 0;
        end;
      end;
    end else Query1.DatabaseName := CurrAliasNode.Text;
    end
    else if Assigned(CurrAliasNode) then Query1.DatabaseName := CurrAliasNode.Text
    else Query1.DatabaseName := '';
  end;
begin
  TmpNode := GetAliasNode(Node);
  if CurrAliasNode<>TmpNode then
  begin
    OldAliasNode := CurrAliasNode;
    CurrAliasNode := TmpNode;
    ChangeDatabase;
  end;
  if (Node.Level<4) and Table1.Active then Table1.Close;
  case node.Level of
  0: begin
       PageControl1.Pages[0].TabVisible := False;
       PageControl1.Pages[1].TabVisible := False;
       PageControl1.Pages[2].TabVisible := False;
  //     DBNavigator1.DataSource := nil;
     end;
  1: begin
       PageControl1.Pages[0].TabVisible := True;
       PageControl1.Pages[1].TabVisible := False;
       PageControl1.Pages[2].TabVisible := Node.Data=Pointer(1);
  //     if not PageControl1.Pages[2].TabVisible then
    //     DBNavigator1.DataSource := nil;
       ShapeEx1.ActiveArea.Items[0,0] := 'TYPE';
       ShapeEx1.ActiveArea.Items[0,1] := Session.GetAliasDriverName(Node.Text);
       Session.GetAliasParams(Node.Text,TmpStrList);
       TmpStrList.Sort;
       ShapeEx1.ActiveArea.RowCount := TmpStrList.Count+1;
       ShapeEx1.ActiveArea.ColCount := 2;
       ShapeEx1.ActiveArea.ColWidth[1] := 300;
       For i:= 0 to TmpStrList.Count-1 do
       begin
         ShapeEx1.ActiveArea.Items[i+1,0] := TmpStrList.Names[i];
         ShapeEx1.ActiveArea.Items[i+1,1] := TmpStrList.Values[TmpStrList.Names[i]];
       end;
       ShapeEx1.ShowBtnType:=sbtNone;
       ShapeEx1.ShowButton;
     end;
  2: begin
       PageControl1.Pages[0].TabVisible := False;
       PageControl1.Pages[1].TabVisible := False;
       PageControl1.Pages[2].TabVisible := True;
//       DBNavigator1.DataSource := nil;
     end;
  3: begin
       PageControl1.Pages[0].TabVisible := False;
       PageControl1.Pages[1].TabVisible := True;
       PageControl1.Pages[2].TabVisible := True;
       if Node.Parent.Index = 0 then
       begin
         //Table1.Close;
         if Table1.Filtered then
         begin
           Table1.Filter := '';
           Table1.Filtered := False;
         end;
         Table1.DatabaseName := Node.Parent.Parent.Text;
         Table1.TableName := Node.Text;
         Table1.Open;
         if TreeView1.Selected.Data=Pointer(0) then
         begin
           TreeView1.Items.AddChildFirst( TreeView1.Selected,'Fields');
           TreeView1.Items.AddChild(TreeView1.Selected,'Indexes');
           TreeView1.Selected.Data := Pointer(1);
         end;
  //       TreeView1.Selected.Expand;
       end;
{       ELSE begin
         DataSource1.DataSet := StoredProc1;
         StoredProc1.Close;
         StoredProc1.DatabaseName := Node.Parent.Parent.Text;
         StoredProc1.StoredProcName := Node.Text;
         StoredProc1.Open;
         StoredProc1.GetResults;
       end;                     }
     end;
  4: begin
       PageControl1.Pages[0].TabVisible := True;
       PageControl1.Pages[1].TabVisible := False;
       PageControl1.Pages[2].TabVisible := False;
       if not Table1.Active then
       begin
         if Table1.Filtered then
         begin
           Table1.Filter := '';
           Table1.Filtered := False;
         end;
         Table1.DatabaseName := Node.Parent.Parent.Parent.Text;
         Table1.TableName := Node.Parent.Text;
         Table1.Open;
       end;
       if TreeView1.Selected.Text='Fields' then
       begin
         ShapeEx1.ActiveArea.RowCount := Table1.FieldDefs.Count+1;
         ShapeEx1.ActiveArea.ColCount := 4;
         ShapeEx1.ActiveArea.Items[0,0] := 'Name(名稱)';
         ShapeEx1.ActiveArea.Items[0,1] := 'Type(類型)';
         ShapeEx1.ActiveArea.Items[0,2] := 'Size(尺寸)';
         ShapeEx1.ActiveArea.Items[0,3] := 'Real Size(實(shí)尺寸)';
         ShapeEx1.ActiveArea.ColWidth[1] := 150;
         ShapeEx1.ActiveArea.ColWidth[1] := 100;
         ShapeEx1.ActiveArea.ColWidth[3] := 120;
         with Table1.FieldDefs do
         For i := 0 to Count-1 do
         begin
           ShapeEx1.ActiveArea.Items[i+1,0] := Items[i].Name;
           ShapeEx1.ActiveArea.Items[i+1,1] := FieldTypeStr[Ord(Items[i].DataType)];
           ShapeEx1.ActiveArea.Items[i+1,2] := IntToStr(items[i].Size);
           ShapeEx1.ActiveArea.Items[i+1,3] := IntToStr(Table1.Fields[i].DataSize);
         end;
       end
       else if TreeView1.Selected.Text='Indexes' then
       begin
         Table1.IndexDefs.Update;
         ShapeEx1.ActiveArea.RowCount := Table1.IndexDefs.Count+1;
         ShapeEx1.ActiveArea.ColCount := 4;
         ShapeEx1.ActiveArea.Items[0,0] := 'Name(名稱)';
         ShapeEx1.ActiveArea.Items[0,1] := 'Index Fields(索引域)';
         ShapeEx1.ActiveArea.Items[0,2] := 'Primary Key(主鍵)';
         ShapeEx1.ActiveArea.Items[0,3] := 'Unique(唯一)';
         ShapeEx1.ActiveArea.ColWidth[1] := 150;
         ShapeEx1.ActiveArea.ColWidth[1] := 100;
         ShapeEx1.ActiveArea.ColWidth[3] := 100;
         with Table1.IndexDefs do
         For i := 0 to Count-1 do
         begin
           ShapeEx1.ActiveArea.Items[i+1,0] := Items[i].Name;
           ShapeEx1.ActiveArea.Items[i+1,1] := Items[i].Fields;
           if ixPrimary in Items[i].Options then
             ShapeEx1.ActiveArea.Items[i+1,2] := 'Yes' else ShapeEx1.ActiveArea.Items[i+1,2]:='No';
           if ixUnique in Items[i].Options then
             ShapeEx1.ActiveArea.Items[i+1,3] := 'Yes' else ShapeEx1.ActiveArea.Items[i+1,3]:='No';
         end;
       end;
    end;
  end;
  PageControl1Change(nil);   //  if Assigned(PageControl1) then
end;

procedure TFormMain.TreeView1Expanding(Sender: TObject; Node: TTreeNode;
  var AllowExpansion: Boolean);
var
  i:integer;
  TD :TDataBase;
  NeedExtName : Boolean;
//TmpNode : TTreeNode;
begin
  if TreeView1.Tag <> -1 then
  begin
    i := MsgBox2('您已經(jīng)修改了配置參數(shù);'+#13#10+'您需要確認(rèn)或取消修改嗎?'+#13#10+'“是”確認(rèn)修改;“否”返回;“取消”取消修改。',MB_YESNOCANCEL or MB_ICONQUESTION);
    case i of
    ID_YES: Apply1Click(nil);
    ID_NO:  ;
    ID_CANCEL: Cancerl1Click(nil);
    end;
    if i<>ID_NO then TreeView1.Selected.Expand(False);
    AllowExpansion := False;
    Exit;
  end;
  case Node.Level of
  1: if Integer(Node.Data)=0 then begin
{       TRY
         Session.FindDatabase(Node.Text).Connected := TRUE;
         AllowExpansion :=  TRUE;
       Except
         AllowExpansion := false;
       end;    }
//       if Node.Count=0 then TreeViewEn1.Items.AddChildObjectFirst(Node,'Tables',0);
       if (Node.Item[0].Data=Pointer(0)) and (Node.Item[0].Count=0) then TreeView1.Items.AddChildObjectFirst(Node.Item[0],'X',Pointer(10));
//       if Session.GetAliasDriverName(Node.Text)<>'STANDARD' then
           try
             Session.OpenDatabase(Node.Text);
             Node.Data := Pointer(1);
             PageControl1.Pages[2].TabVisible := True;
           //  TmpNode := TreeView1.Items.AddChildObject(Node,'StoredProcs',Pointer(0));
           //  TreeView1.Items.AddChildObjectFirst(TmpNode,'X',Pointer(10));
           except
             AllowExpansion := False;
           end;
//        else Session.OpenDatabase(Node.Text);
//       if AllowExpansion then Node.Data := Pointer(1);
//       PageControl1.Pages[2].TabVisible := AllowExpansion;
     end;
    2: if (Node.Count=1) and (Integer(Node.Data)=0) then
       if Node.Index = 0 then
       begin
         Node.item[0].Delete;
         Node.Data := Pointer(1);
         TmpStrList.Clear;
         TmpStrList.BeginUpdate;
         NeedExtName := not Session.FindDatabase(Node.Parent.Text).IsSQLBased;
         TmpStrList.EndUpdate;
         Session.GetTableNames(Node.Parent.Text,'',NeedExtName,False,TmpStrList);
         if TmpStrList.Count>0 then
         begin
           TmpStrList.Sort;
           AddSubStrings(Node,TmpStrList);
         end
         else AllowExpansion := False;
       end;{
       else begin
         Node.item[0].Delete;
         Node.Data := Pointer(1);
         TmpStrList.Clear;
         TmpStrList.BeginUpdate;
         Session.GetStoredProcNames(Node.Parent.Text,TmpStrList);
         TmpStrList.EndUpdate;
         if TmpStrList.Count>0 then
         begin
           TmpStrList.Sort;
           AddSubStrings(Node,TmpStrList);
         end
         else AllowExpansion := False;
       end; }
  end;
end;

procedure TFormMain.AddSubStrings(Node: TTreeNode; StrList: TStrings);
var
  TmpNode : TTreeNode;
  i,j,Low:integer;
begin
  if StrList.Count>0 then
  begin
    TreeView1.Items.BeginUpdate;
    j := Node.Count;
    if j=0 then
    begin

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人亚洲精品久久久久软件| 96av麻豆蜜桃一区二区| 欧美激情一区二区三区四区| 在线观看一区二区视频| 国产成人免费在线观看不卡| 一区二区三区加勒比av| 国产婷婷色一区二区三区在线| 欧洲亚洲国产日韩| 粉嫩一区二区三区性色av| 日韩精品国产欧美| 一区二区三区四区在线播放| 26uuu久久综合| 91精品国产91综合久久蜜臀| 91免费看片在线观看| 精品午夜一区二区三区在线观看 | 精品久久人人做人人爽| 91麻豆成人久久精品二区三区| 精品一区二区在线观看| 亚洲韩国一区二区三区| 综合色中文字幕| 久久精品一二三| 日韩欧美色综合| 欧美酷刑日本凌虐凌虐| 欧美中文字幕亚洲一区二区va在线| 国产成人av一区二区三区在线观看| 蜜桃视频一区二区| 三级精品在线观看| 婷婷夜色潮精品综合在线| 亚洲欧美aⅴ...| ●精品国产综合乱码久久久久| 久久久不卡网国产精品一区| 日韩三级视频中文字幕| 欧美一区二区三区免费视频| 欧美日韩一区二区在线观看视频| 91福利在线看| 色呦呦国产精品| 色婷婷久久久综合中文字幕| www.视频一区| 色婷婷综合五月| 色婷婷精品大在线视频| 色乱码一区二区三区88| 在线观看91精品国产入口| 日本久久电影网| 在线看日本不卡| 欧美日韩日日摸| 欧美男同性恋视频网站| 欧美精品色一区二区三区| 91精品国产综合久久精品性色| 欧美亚洲国产bt| 欧美日韩亚洲综合一区二区三区| 欧美高清视频一二三区 | 欧美一级搡bbbb搡bbbb| 日韩一区二区不卡| 精品成人免费观看| 久久蜜桃香蕉精品一区二区三区| 精品国产污网站| 中文字幕二三区不卡| 亚洲视频一区在线观看| 亚洲超丰满肉感bbw| 婷婷夜色潮精品综合在线| 美国十次综合导航| 国产做a爰片久久毛片| 成人看片黄a免费看在线| 色综合久久久久综合99| 欧美午夜精品电影| 欧美不卡视频一区| 国产精品丝袜一区| 夜夜精品视频一区二区| 美女看a上一区| 成人网在线播放| 欧美亚州韩日在线看免费版国语版| 欧美精品免费视频| 国产色一区二区| 一级特黄大欧美久久久| 极品少妇xxxx精品少妇| 99re在线视频这里只有精品| 欧美久久久一区| 国产亚洲女人久久久久毛片| 亚洲天堂久久久久久久| 免费观看久久久4p| av在线不卡电影| 欧美一级xxx| 日韩美女视频一区| 蜜桃av一区二区| 色香蕉久久蜜桃| 久久伊人蜜桃av一区二区| 亚洲免费看黄网站| 日本欧美在线观看| 91在线精品一区二区三区| 欧美一区二区三区视频在线观看| 国产亚洲短视频| 日日噜噜夜夜狠狠视频欧美人| 国产精品一区二区不卡| 欧美精品v国产精品v日韩精品| 久久久久久免费毛片精品| 一区二区三区精品在线| 国产高清精品久久久久| 欧美酷刑日本凌虐凌虐| 日韩毛片精品高清免费| 国产真实精品久久二三区| 欧美午夜一区二区| 国产精品理论在线观看| 久久福利视频一区二区| 在线亚洲欧美专区二区| 国产精品你懂的| 韩国午夜理伦三级不卡影院| 欧美精品丝袜中出| 亚洲欧美一区二区不卡| 国产精品系列在线观看| 日韩视频免费观看高清在线视频| 亚洲影视在线观看| 91小视频免费观看| 欧美国产精品一区二区三区| 久久99日本精品| 91精品国产综合久久蜜臀| 一区二区三区资源| www.亚洲在线| 国产免费久久精品| 国产精品一区免费在线观看| 日韩欧美123| 蜜芽一区二区三区| 欧美欧美欧美欧美首页| 亚洲精品国产视频| 色综合久久综合网欧美综合网| 国产女人18水真多18精品一级做| 精品一区二区日韩| 欧美一级生活片| 免费观看成人av| 日韩一区二区三| 免费在线看一区| 欧美一区二区三区播放老司机| 视频一区视频二区中文字幕| 在线观看区一区二| 亚洲永久精品大片| 欧美日韩中文国产| 五月天国产精品| 3d动漫精品啪啪一区二区竹菊 | 夜夜精品视频一区二区 | 色悠悠久久综合| 一区二区三区在线免费播放| 一本色道亚洲精品aⅴ| 1000精品久久久久久久久| 99久久er热在这里只有精品15| 国产精品久久二区二区| 91在线精品一区二区| 一区二区三区欧美亚洲| 欧美性欧美巨大黑白大战| 亚洲国产日韩精品| 3d动漫精品啪啪| 狠狠色狠狠色综合日日91app| 精品播放一区二区| 福利一区在线观看| 国产精品的网站| 欧美在线free| 日本一区中文字幕| 久久久欧美精品sm网站| 成人黄色电影在线 | 国产麻豆精品视频| 国产精品毛片a∨一区二区三区| 成人国产精品免费观看| 亚洲精品成a人| 91精品国产一区二区| 国产毛片一区二区| 亚洲精品久久久蜜桃| 91精品国产一区二区| 国产福利一区二区三区在线视频| 国产精品视频看| 欧美日韩一级二级三级| 国产老肥熟一区二区三区| 最新热久久免费视频| 欧美三区在线观看| 国产一区二区视频在线| 亚洲日本欧美天堂| 欧美一三区三区四区免费在线看| 国产美女精品在线| 夜夜嗨av一区二区三区中文字幕| 日韩一二三区视频| av一二三不卡影片| 日韩精品一区第一页| 国产精品网站一区| 欧美三级视频在线| 国产成人三级在线观看| 夜夜精品视频一区二区 | 欧美高清精品3d| 成人一级片网址| 日韩精品一级二级 | 亚洲精品一区二区三区99| a在线播放不卡| 日韩成人伦理电影在线观看| 欧美激情在线一区二区| 欧美日韩精品免费观看视频 | 九九在线精品视频| 亚洲黄色小说网站| 国产三级精品三级在线专区| 欧美日韩国产综合草草| 成人的网站免费观看| 久久精品噜噜噜成人av农村| 亚洲美女电影在线| 日本一区二区三级电影在线观看| 欧美美女一区二区在线观看|