Z zhangjin Unregistered / Unconfirmed GUEST, unregistred user! 2002-09-06 #1 treeview的selected.data (data 存放的是字符串,例如‘0102.0102.0102’) 我需要把它转换成string,即把‘0102.0102.0102’取出来,高手指教
C cg1120 Unregistered / Unconfirmed GUEST, unregistred user! 2002-09-06 #3 type TDataNode = record ID: Cardinal; name:string; end; dataiddatanode; psetedzb:=rztreeview1.Selected; psetzb:=psetedzb.Data; 你的字符变量:=psetzb.name; setedzb:=integer(psetzb.ID);
type TDataNode = record ID: Cardinal; name:string; end; dataiddatanode; psetedzb:=rztreeview1.Selected; psetzb:=psetedzb.Data; 你的字符变量:=psetzb.name; setedzb:=integer(psetzb.ID);
U ugvanxk Unregistered / Unconfirmed GUEST, unregistred user! 2002-09-06 #4 string(point)强制转换不可以吗 或先用pchar:=point string(pchar)
J jsxjd Unregistered / Unconfirmed GUEST, unregistred user! 2002-09-06 #5 var s:string; begin s:=PString(treeview.selected.data)^;
Z zhangjin Unregistered / Unconfirmed GUEST, unregistred user! 2002-09-06 #7 问题好像不在转换这里: 我在生成树的时候 showmessage(strpas(pchar(Node.Data)))===‘0101’ 然后再读的时候 showmessage(strpas(Pchar(Selected.Data)))===‘’ ???这里没有值了???
问题好像不在转换这里: 我在生成树的时候 showmessage(strpas(pchar(Node.Data)))===‘0101’ 然后再读的时候 showmessage(strpas(Pchar(Selected.Data)))===‘’ ???这里没有值了???
J jsxjd Unregistered / Unconfirmed GUEST, unregistred user! 2002-09-06 #8 你是怎么赋值的,Data是 pointer. 是不是把内存给释放了。
Z zhangjin Unregistered / Unconfirmed GUEST, unregistred user! 2002-09-07 #9 jsxjd:你的考虑是对的 在给pointer赋值时 我用的是 node.data:=pointer(string(v)); 这里用string是错的,那该如何做呢
K kunmeng Unregistered / Unconfirmed GUEST, unregistred user! 2002-09-07 #10 >>treeview的selected.data (data 存放的是字符串 错误,selected.data存放的不是字符串,而是指针,只有给他赋值point型才有意义, !给data赋值时注意指针的建立与释放; 取出data中的值:s1:=String(selected.data ^); //var s1:string;
>>treeview的selected.data (data 存放的是字符串 错误,selected.data存放的不是字符串,而是指针,只有给他赋值point型才有意义, !给data赋值时注意指针的建立与释放; 取出data中的值:s1:=String(selected.data ^); //var s1:string;
D dirk Unregistered / Unconfirmed GUEST, unregistred user! 2002-09-07 #11 procedure TForm1.Button1Click(Sender: TObject); var ps:^string; begin new(ps); ps^:='0102.0102.0102'; TreeView1.Items.AddObject(nil,'aaaaa',ps); end; procedure TForm1.Button2Click(Sender: TObject); begin ShowMessage(string(TreeView1.Selected.Data^)); end; 指针是要new后才能用的,在dispose后就不能用了,上面是TTreeView上的Data属性的简单 用法,照cg1120的程序可存储更复杂的数据,但他的写法乱七八糟,主要是要定义一个结 构,申请一个结构指针,用的时候强制类型转换一下就可以用了,和上面的string的用法 一样。
procedure TForm1.Button1Click(Sender: TObject); var ps:^string; begin new(ps); ps^:='0102.0102.0102'; TreeView1.Items.AddObject(nil,'aaaaa',ps); end; procedure TForm1.Button2Click(Sender: TObject); begin ShowMessage(string(TreeView1.Selected.Data^)); end; 指针是要new后才能用的,在dispose后就不能用了,上面是TTreeView上的Data属性的简单 用法,照cg1120的程序可存储更复杂的数据,但他的写法乱七八糟,主要是要定义一个结 构,申请一个结构指针,用的时候强制类型转换一下就可以用了,和上面的string的用法 一样。