亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Delphi > 正文

Delphi實(shí)現(xiàn)樹型結(jié)構(gòu)具體實(shí)例

2020-01-31 20:51:57
字體:
供稿:網(wǎng)友

復(fù)制代碼 代碼如下:

unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, DB, ADODB;
type
  PNodeInfoEx = ^TNodeInfoEx;
  TNodeInfoEx = Packed Record
      NodeID    : Integer;
      ParentID  : Integer;
      NodeType  : Integer;
      ChnNodeTitle : String;
      ImageIndex: SmallInt;
      SelectedIndex: SmallInt;
   end;
  TForm1 = class(TForm)
    tv1: TTreeView;
    btn1: TButton;
    qry1: TADOQuery;
    procedure btn1Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
    function StaticBuildTree(TreeView:TTreeView ):Boolean;
    function AddTreeItem(TreeView:TTreeView; AddNodeInfo:PNodeInfoEx):TTreeNode;
    function FindTreeItem(TreeView:TTreeView; CurNodeID:integer): TTreeNode;
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}

function TForm1.StaticBuildTree(TreeView:TTreeView ):Boolean;
var
  AddNodeInfo : PNodeInfoEx;
begin
  Result := False;
  qry1.LoadFromFile('c:/AdminixTree.xml');//這里以XML文件做為數(shù)據(jù)源
  Treeview.Items.BeginUpdate;//記住:在進(jìn)行批量添加數(shù)據(jù)時(shí)要使用BeginUpdate,來暫時(shí)關(guān)閉由于添加數(shù)據(jù)而觸發(fā)的某些事件(如OnChange事件等)
  Treeview.Items.Clear;//清空Treeview
  try
    try
      if qry1.RecordCount >0 then
        begin
          qry1.First;
          while Not qry1.Eof do
          begin
            New(AddNodeInfo) ;//生成結(jié)構(gòu)體
            AddNodeInfo^.NodeID := qry1.FieldByName('NODE_ID').AsInteger;
            AddNodeInfo^.ParentID := qry1.FieldByName('PARENT_ID').AsInteger;
            AddNodeInfo^.NodeType := qry1.FieldByName('NodeType').AsInteger;
            AddNodeInfo^.ChnNodeTitle := qry1.FieldByName('ChnNodeTitle').AsString;
            AddNodeInfo^.ImageIndex := qry1.FieldByName('ImageIndex').AsInteger;
            AddNodeInfo^.SelectedIndex := qry1.FieldByName('SelectedIndex').AsInteger;
            AddTreeItem(Treeview,AddNodeInfo);//把結(jié)構(gòu)體的指針存到Treeview中
            qry1.Next;
          end;
        end;
    except
      Application.MessageBox('生成樹結(jié)點(diǎn)失敗',MB_ICONSTOP+MB_OK);
      raise;//向上級(jí)拋異常
    end;
    qry1.Close;
    Result := True;
  finally
    Treeview.Items.EndUpdate;
  end;
end;
//在加入結(jié)點(diǎn)時(shí),應(yīng)先判斷加入的是父結(jié)點(diǎn)還是子結(jié)點(diǎn),判斷的依據(jù)是在已存在的樹結(jié)點(diǎn)中是否存在該結(jié)點(diǎn)的ParentID
function TForm1.AddTreeItem(TreeView:TTreeView; AddNodeInfo:PNodeInfoEx):TTreeNode;
var
    ParentNode: TTreeNode;
begin
    ParentNode := FindTreeItem(Treeview,AddNodeInfo^.ParentID);
    If ParentNode <> nil then
        Result := Treeview.Items.AddChildObject(ParentNode, Trim(AddNodeInfo.ChnNodeTitle), Pointer(AddNodeInfo))
    else
        Result := Treeview.Items.AddObject(ParentNode, Trim(AddNodeInfo.ChnNodeTitle), Pointer(AddNodeInfo));
    if Result<>nil then
    begin
        Result.ImageIndex    := AddNodeInfo.ImageIndex;
        Result.SelectedIndex := AddNodeInfo.SelectedIndex;
    end;
end;
//這里是判斷是否存在其父結(jié)點(diǎn)
function TForm1.FindTreeItem(TreeView:TTreeView; CurNodeID:integer): TTreeNode;
var
    i : Integer;
begin
  Result := nil;
  for i := 0 to Treeview.Items.Count-1 do
  begin
      if CurNodeID=PNodeInfoEx(Treeview.Items[i].Data)^.NodeID then
      begin
          Result := Treeview.Items[i];
          Exit;
      end;
  end;
end;
//生成樹結(jié)構(gòu)
procedure TForm1.btn1Click(Sender: TObject);
begin
   StaticBuildTree (tv1)
end;
//在窗體釋放時(shí)一定要把樹結(jié)點(diǎn)中的結(jié)構(gòu)體指針給釋放掉,對(duì)于在Dispose時(shí)為什么要進(jìn)行強(qiáng)制轉(zhuǎn)型后釋放,以前有專門的講解,在此不在累述
procedure TForm1.FormDestroy(Sender: TObject);
var
    i : Integer;
begin
  for i := 0 to tv1.Items.Count-1 do
  begin
       Dispose( PNodeInfoEx(tv1.Items[i].Data)  )
  end;
end;
end.

復(fù)制代碼 代碼如下:

//如何訪問樹結(jié)點(diǎn)?
procedure TForm1.tv1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  pNode:TTreeNode;
begin
  pNode:=tv1.GetNodeAt(x,y);
  if (pNode<>nil) and  (Button=mbleft) then
   ShowMessage(PNodeInfoEx(pNode.Data)^.ChnNodeTitle);
end;

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

亚洲欧美在线磁力| 精品日韩中文字幕| 国产片一区二区三区| wwwxxxx国产| 99国产精品欲| 欧美老女人bb| 一区二区三区视频在线观看免费| 黄色影片网站| 丁香花高清视频完整版在线观看| 手机在线观看av网站| 一本免费视频| 波多野结衣xxxx| 成年人三级黄色片| 国产日韩欧美不卡| 欧美舌奴丨vk视频| 夜色福利资源站www国产在线视频| 亚洲成av人片在线观看香蕉| 一区二区在线免费播放| 久久资源av| 精品久久久噜噜噜噜久久图片| 亚洲精品在线观看av| 中文字幕精品久久久久| 成人亚洲一区二区三区| 毛片在线网站| 国产免费一区| 日韩精品亚洲aⅴ在线影院| 一区二区三区 在线观看视| 97碰在线视频| 美日韩在线视频| 免费久久久一本精品久久区| 国产午夜精品视频| 国产福利一区二区三区视频| 欧美sm美女调教| 高清国产免费| 成人一区二区在线观看| 国产精品毛片久久久久久久av| 久久综合社区| 日韩精品视频免费看| 欧美一区国产二区| 欧美一区二区三区电影在线观看| 欧洲一区二区三区在线| 国产精品视频yy9299一区| 欧美日韩国产精品激情在线播放| 国产精品视频免费播放| 国产欧美精品一区二区三区四区| 日韩小视频在线| 噜噜噜天天躁狠狠躁夜夜精品| 97久久久精品综合88久久| 亚洲欧美精品aaaaaa片| 国产精品911| 国产av无码专区亚洲av麻豆| 亚洲欧洲一区二区在线观看| 成人亚洲性情网站www在线观看| 日韩午夜精品视频| 888奇米影视| 日韩国产在线观看一区| www.av麻豆| 欧美激情偷拍自拍| 日本成人在线视频网址| 黑人操日本美女| 欧洲美女亚洲激情| 欧美性猛片aaaaaaa做受| 国产精品一品视频| 欧美一区二区三区播放| 日韩网站在线看片你懂的| 一区二区三区日韩欧美精品| 一本色道久久综合亚洲精品按摩| 亚洲aaa在线观看| 一区一区视频| 国产成人免费在线视频| 欧美日韩亚洲一二三| h1515四虎成人| 亚洲女人av| 日韩一区二区三区四区视频| 在线播放第一页| 综合久久综合| 欧美69xxx| 久久成人免费观看| 亚洲欧洲成人| 欧美色图自拍| 久久www人成免费看片中文| 小草在线视频在线免费视频| 日本免费久久高清视频| 亚洲天堂男人的天堂| av在线电影网站| 日本精品视频在线| 天天躁日日躁成人字幕aⅴ| 香蕉av777xxx色综合一区| 在线免费观看日韩av| 一级特黄aaa大片| 国产午夜精品视频一区二区三区| 中文字幕21页在线看| 亚洲精品小区久久久久久| 亚洲精品国产一区二区精华液| 国产探花在线免费观看| 红桃视频 国产| av天在线播放| 丝袜 亚洲 另类 欧美 重口| 日本三级视频在线观看| 日韩精品一级中文字幕精品视频免费观看| 在线视频一区二区三区在线播放| 国产高清999| 国产麻豆一精品一av一免费| 久久国产精品免费看| 中文字幕av在线播放| 国产三级自拍视频| 欧美成人在线免费视频| 久久精品一卡二卡| 亚洲h动漫在线| 国产精品亲子乱子伦xxxx裸| 91麻豆精东视频| 最近日韩免费视频| 欧美又大又硬又粗bbbbb| 性做久久久久久免费观看欧美| av大片在线看| 久久久久成人精品免费播放动漫| 诱人的瑜伽老师3hd中字| 在线观看成人网| 亚洲熟妇无码一区二区三区导航| 91精选在线观看| 日本美女高清在线观看免费| 日韩精品一区不卡| 日韩在线资源网| 久久免费99精品久久久久久| 最近中文字幕在线mv视频在线| 9.1片黄在线观看| 免费无遮挡无码永久在线观看视频| 欧美日韩不卡视频| 伊人永久在线| 欧美黑人又粗大| 久久久久99精品久久久久| japanese在线| 先锋影音资源综合在线播放av| 欧美男男gaygay1069| 精人妻无码一区二区三区| 色欧美激情视频在线| 欧美三级视频在线播放| 久久久久久国产精品mv| 久久综合999| 国产精品sss| 亚洲熟妇av一区二区三区漫画| 中国女人做爰视频| 欧美激情精品久久久久久黑人| 日本成人午夜影院| 少妇高潮久久久| 精品123区| 午夜欧美福利视频| 国产色综合一区二区三区| 91日韩精品视频| 国产精品视频一区二区三区四蜜臂| 成年美女黄网站色大片不卡| 成人av资源网址| 欧洲av不卡| 91黄色在线视频| 欧美日韩一级二级| 亚洲色图 在线视频| av免费网站观看| 国产乱子伦精品无码专区| 日本妇女毛茸茸| 九色综合国产一区二区三区| 久久中文字幕国产| 国产精品1区2区3区在线观看| 亚洲成色精品| 俺要去色综合狠狠| 亚州欧美一区三区三区在线| avtt天堂资源网| 欧美婷婷六月丁香综合色| 日韩av在线免费播放| 欧洲亚洲一区二区三区四区五区| 日本人妖一区二区| av在线天堂播放| 欧美日韩精品免费观看视一区二区| 免费观看成人网| 好吊一区二区三区视频| 69成人免费视频| 亚洲www在线| 涩爱av在线播放一区二区| 亚洲日本国产精品| 蜜桃一区二区三区在线观看| 蜜乳av一区| 欧美深性狂猛ⅹxxx深喉| 国产亚洲高清一区| www.天天色| 美女扒开腿免费视频| 精品国产免费一区二区三区四区| 久久精品人人爽人人爽| 手机福利视频欧美| 精品国产第一区二区三区观看体验| 中文字幕免费在线播放| 国产成人精品视频免费| www.中文字幕久久久| 日本在线视频站| 岛国一区二区| 欧美妇乱xxxxx视频| 色婷婷国产精品| 亚洲电影观看| 久草热8精品视频在线观看| 欧美色网在线| 亚洲精品高清视频在线观看| 日本三级久久| 午夜影院欧美| 一区二区三区免费在线看| 五月激情在线| 免费黄网站在线| 亚洲精品国产精品国自产观看| 国产欧美日韩专区发布| 日本视频一区二区三区| 欧美自拍偷拍一区| 偷拍视屏一区| 国产亚洲精品美女久久久久久久久久| 国产免费不卡av| 亚洲男人的天堂在线播放| 国产福利小视频在线| 久久精品在线免费视频| 99久久国产综合精品成人影院| 又色又爽的视频| 五月天婷婷综合社区| 欧美性片在线观看| 韩国精品一区二区三区| 亚洲视频狠狠干| 国产一区二区三区精品欧美日韩一区二区三区| 精品美女国产在线| 蜜臀aⅴ国产精品久久久国产老师| 91欧美一区二区| 91视频精品在这里| 深夜福利视频一区二区| 欧美一级在线看| 看电视剧不卡顿的网站| 亚洲欧美日韩不卡一区二区三区| 一个色免费成人影院| 亚洲成人精品影院| 成人动漫视频在线观看免费| 欧美亚洲网站| 久久精品亚洲精品国产欧美kt∨| 精品99一区二区三区| 欧美成人剧情片在线观看| 欧美成人精品不卡视频在线观看| 国产欧美日韩综合精品一区二区| 欧美日韩激情一区二区三区| 情侣偷拍对白清晰饥渴难耐| zzijzzij亚洲日本成熟少妇| 久久久久久午夜| 阳光姐妹淘韩国版| 国产第一页在线视频| 日日摸日日碰夜夜爽av| 91黄色免费版| 久久夜色精品亚洲噜噜国产mv| 波多野结衣国产精品| 久久亚洲精选| 国产91综合一区在线观看| 日韩a级黄色片| 欧美大香线蕉线伊人久久| 国产在线88av| www.国产二区| 在线看日韩精品电影| 91.com视频| 国产精品久久久久久吹潮| 狠狠操在线视频| 永久久久久久久| 成全电影大全在线观看| 亚洲综合av一区二区三区| 欧美亚洲网站| 印度美女freesex性hd| 国产区一区二区| 亚洲男女av一区二区| 国产91丝袜在线播放0| 国产精品男人的天堂| 欧美日韩国产123| 国产爆初菊在线观看免费视频网站| 337p亚洲精品色噜噜狠狠| 欧洲中文字幕国产精品| 午夜影视日本亚洲欧洲精品| 亚洲精品影片| 久久夜色精品国产噜噜亚洲av| 久久99伊人| 亚洲AV无码成人片在线观看| 日韩精品导航| 日韩中文字幕网| 在线宅男视频| 美女隐私在线观看| 黄色小视频免费网站| 日韩精品欧美专区| 免费精品视频| 中国一级大黄大黄大色毛片| 宅男午夜在线| 亚洲人成在线观看一区二区| 岛国在线免费| 欧美激情网址| 黄色动漫网站| 人人做人人澡人人爽欧美| 成人同人动漫免费观看| 韩曰欧美视频免费观看| 粉嫩av在线播放| av无码av天天av天天爽| 五月激情综合网| 亚洲中文字幕一区二区| 亚洲精品国产精品粉嫩| 亚洲欧美日韩另类精品一区二区三区| 色吊丝av中文字幕| 黄色亚洲大片免费在线观看| 一区二区不卡| 国产乱在线观看视频| 久久精品视频免费| 免费a视频在线观看| 在线人成动漫视频在线观看| 亚洲日本成人网| 成人午夜国产福到在线| 无遮挡爽大片在线观看视频| 亚洲自拍偷拍图区| 久久久久久久久久一区| 亚洲成人av影片| 可以免费看的av毛片| 91精品短视频| wwww.国产| 成人羞羞网站| 色狠狠av一区二区三区香蕉蜜桃| 精品久久久久国产| 久久久精品久久久久| 精品久久久中文字幕| 久久精品国产精品亚洲色婷婷| 西西人体44www大胆无码| 国产精品丝袜一区二区| 免费视频亚洲| 久久成人人人人精品欧| 亚洲影视在线观看| 国产极品一区二区三区| 91官网在线免费观看| 91视视频在线直接观看在线看网页在线看|