弱弱的问题,关于数据类型定义
看到一段文字是关于treeview的,有几句在程序中不可以通过。
无限树型.看看罗,我调试通过了!
先定义
PNodeInfo=^TNodeInfo; //指针类型,存储对应节点信息
TNodeInfo=Packed Record
//以上两句有问题,在编译不通过,我从没见过这样定以数据类型或变量的
NodeId:String; //节点
NodeName:string; //节点名称
ParentId:string; //父节点
end;
定义函数
procedure Tform.CreateTree(Id: integer;ParentNode:TTreeNode);
var
QryTmp:TSQLQuery;
MyNode:TTreeNode;
TmpNodeInfo:PNodeInfo;
begin
QryTmp:=TSQLQuery.Create(self);
QryTmp.SQLConnection:=SQLConnection;
QryTmp.SQL.Add('Select Nodeid,Parentid,Nodename From Policy_tree Where ParentId='+IntToStr(Id)+' Order by NodeId');
QryTmp.Open;
MyNode:=nil;
while not QryTmp.Eof do
begin
New(TmpNodeInfo);
TmpNodeInfo.Nodeid:=Trim(QryTmp.Fields[0].AsString);
TmpNodeInfo.Parentid:=Trim(QryTmp.Fields[1].AsString);
TmpNodeInfo.Nodename:=Trim(QryTmp.Fields[2].AsString);
MyNode:=TView.Items.AddChildObject(ParentNode,QryTmp.Fields[2].AsString,TmpNodeInfo); //把所有节点当作子节点遍历
CreateTree(QryTmp.Fields[0].AsInteger,MyNode); //递归调用
QryTmp.Next;
end;
QryTmp.Free;
end;
调用
//显示树型
CreateTree(0,nil);