弱弱的问题,关于数据类型定义

babytong 2003-07-07 03:10:44
看到一段文字是关于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);
...全文
35 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
babytong 2003-07-07
  • 打赏
  • 举报
回复
楼上的,这代码不是你写的吧,哈哈,我找来准备用一下呢,有意思
SunKinXing 2003-07-07
  • 打赏
  • 举报
回复

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);

能通过的呀我的树也是这样做的你在类声明前面要加type的再试吧
lincanwen 2003-07-07
  • 打赏
  • 举报
回复
这段应该放在Type 后面。如:
Type:
PNodeInfo=^TNodeInfo; //指针类型,存储对应节点信息
TNodeInfo=Packed Record
//以上两句有问题,在编译不通过,我从没见过这样定以数据类型或变量的
NodeId:String; //节点
NodeName:string; //节点名称
ParentId:string; //父节点
end;

Tform1=class(Tform)
...
babytong 2003-07-07
  • 打赏
  • 举报
回复
知道的人给解释一下吧
babytong 2003-07-07
  • 打赏
  • 举报
回复
up

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧