procedure LoadTree(treeDB:TDBDataSet).//初始化树 procedure UpdateTree(curNode:TTreenode. nodeTxt:string. state:string).//更新树 function GetNodeLevel(sFormat,sCode:string):integer. //获得节点层数 function GetNodeItem(sCode:string):integer.//获得item { Public declarations } end. const CTreeCodeFormat=\ 122222\ . cTreeMaxLevel=6. CTreeRootTXT=\ 所有图书\ . var tsgzlfrom: Ttsgzlfrom. _err:integer. curUser:string[10]. mystate:string. gNodeId:string. gNodelevel:integer. gNode:TtreeNode. mynode:array[0..6] of TTreenode. i,Already,CurMode:integer. currow:integer. iniFile:string. HasSub:String. level:Integer. implementation uses bgNewunit. {$R *.DFM} procedure TtsgzlFrom.LoadTree(treeDB:TDBDataSet).//初始化树 var curID,nodeTxt:string. level,num:integer. begin //初始化变量 Screen.Cursor:=crHourGlass. tree.Enabled:=True. tree.Items.Clear. level:=1 . num:=1. tree.items.clear. //设置根节点 mynode[level]:=Tree.items.add(Tree.Topitem,cTreeRootTxt). mynode[level].ImageIndex:=0. mynode[level].SelectedIndex:=1. //遍历数据表,利用编码字段记录排序规律,依次添加树节点 with TreeDb do begin try if not Active then open. first. while not Eof do begin curID:=trim(FieldByName(\ tsglb\ ).AsString). nodeTxt:=curID \ -\ trim(FieldByName(\ tsglbn\ ).AsString). level:=GetNodeLevel(cTreeCodeFormat,curID). //这里返回代码的层次数 if level