線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1888
推到 Plurk!
推到 Facebook!

Treeview 計算任意一個TreeNode下面所有的節點數目

答題得分者是:Fishman
mike0518tw
一般會員


發表:5
回覆:5
積分:2
註冊:2004-03-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-14 09:48:49 IP:60.28.xxx.xxx 未訂閱
如題 , 以下是走遍所有TreeNode的遞迴的code //取自 ccchen 大大的code procedure TravelAllChild(pNode : TTreeNode ); var i : integer; begin //Here place code to do something for each TreeNode ........ ........ if pNode.HasChildren then for i := 0 to pNode.Count-1 do TravelAllChild( pNode.Item[i]); end; 如何改寫上面的code , 使他可以計算出任意一個TreeNode下面所有的節點數目 function GetChildCount( pNode:TTreeNode):integer; begin .... ..... end;
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-14 11:43:35 IP:210.65.xxx.xxx 未訂閱
Hi mike0518tw,    野人獻曝! < class="code"> procedure TForm1.Button3Click(Sender: TObject); procedure TravelAllChild(var ChildCount : integer;pNode : TTreeNode ); var i : integer; begin Inc(ChildCount); if pNode.HasChildren then begin for i := 0 to pNode.Count-1 do begin TravelAllChild(ChildCount,pNode.Item[i]); end; end; end; function GetChildCount(pNode:TTreeNode):integer; var r : Integer; begin r := 0; if pNode <> Nil then begin TravelAllChild(r,pNode); r := r - 1; //扣除自己本身 end; result := r; end; begin ShowMessage('Find ' IntToStr(GetChildCount(TreeView1.Selected)) ' childnode(s).'); end; ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
系統時間:2024-05-19 10:56:49
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!