谁能告诉我listitem.data这个属性是什么意思 手头上没有书 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 property ListItems[Index: Integer]: TActionListItem intCount:=recordset_temp.RecordCount ; Label4.Caption :=inttostr(intCount) + '名'; for i:=1 to adoquery.RecordCount do begin listitem:=apart_LIST.Items.Add ; listitem.Caption :=adoquery.Fields[1].AsString ; listitem.SubItems.Add(adoquery.Fields[2].asstring); listitem.SubItems.Add(adoquery.Fields[3].asstring); listitem.SubItems.Add(adoquery.Fields[4].asstring); listitem.SubItems.Add).adoqueryFields[5].asstring); listitem.SubItems.Add(adoquery.Fields[6].asstring); listitem.SubItems.Add(adoquery.Fields[7].asstring); listitem.SubItems.Add(adoquery.Fields[8].asstring); listitem.SubItems.Add(DateTimeToStr(adoquery.Fields[9].AsDateTime)); new(p); p^ := adoquery.Fields[0].AsInteger ; listitem.Data :=p; adoquery.Next; end;可不可以告诉我最后三句的意思,我不懂listitem.data是什么意思~谢谢 new(p); p^ := adoquery.Fields[0].AsInteger ; listitem.Data :=p;指向P结构的一个指针,这个结构是自定义的,任何结构如type PItemData =^TItemData; TItemData = record FirstName:=String;end;上面的代码放在 type TFrmMain =class(TForm)前面用的时候var P:=PNodeData;begin New(p);分配内存 P^.firstname:='ddfsdf'; ListItem.data:=p 用dispose(p)来释放,只有在DELETE ITEM的时候才能释放,明白了吗end;New(p) 从Delphi角度来说,Delphi内部可以根据这个DAta进行排序,这个你可以设置相关属性完成,当然你也可以不需要,而自己用代码来完成。除了这种情况,delphi不再使用这个属性。从程序员角度来说,delphi预留这个属性完全是为编程者提供某些方面的帮助,怎么使用完全看你。不要忘了,Data是一个32位地址值,也就是说,你想在这里放置任何宽度为32位的值都行。比如:Integer,DWORD,Float,POinter,只要宽度兼容,都行,至于具体数值代表啥意思,完全看你喽。 zhoutler(周进宝) 大哥,请问怎么用Data进行排序,可不可以实现和VB一样的用中文来访问节点的功能? 说错了,是可不可以用字符串,就像数据库的FieldByName('asd')一样,而不是用Index TO楼上,是不是这个间思type PLVRecord = ^TLVRecord; TLVRecord = packed record xh:string; end;var p:PLVRecord.......p^.xh 有点开始懂了,不过还有两个地方不懂~1:listitem:=apart_LIST.Items.Add ; 左边是的listitem:Tlistitem,右边复职给左边怎么理解?2:p^ := adoquery.Fields[0].AsInteger ; 左边是指针类,右边好像不是指针类型的吧? 这里又怎么理解 1.用一个变量listitem记录新增的列,以方便下面修改这一列的属性2.p是指针类型,p^代表p指向的数据,在你的程序中是integer 各位帮忙看看发往串口的数据时如何校验的? 一个程序员的奋斗历程(转贴) 关于数据库的简单问题 在dbgrid中如何实现有的记录可以修改,有的记录不可以修改 delphi + ado + vfp, 怎样清空表中的记录! 求助登录对话框问题 Delphi高手,帮帮我,谢谢! 过程的参数能不能用自己定义的类型? sql server在创建新的数据库时,总是自动上带19个系统表? 步入线程,有困难!-----------中秋Haipy! 简单问题:如何将value数值转换成string? 控件的开发问题,高难度
Label4.Caption :=inttostr(intCount) + '名';
for i:=1 to adoquery.RecordCount do
begin
listitem:=apart_LIST.Items.Add ;
listitem.Caption :=adoquery.Fields[1].AsString ;
listitem.SubItems.Add(adoquery.Fields[2].asstring);
listitem.SubItems.Add(adoquery.Fields[3].asstring);
listitem.SubItems.Add(adoquery.Fields[4].asstring);
listitem.SubItems.Add).adoqueryFields[5].asstring);
listitem.SubItems.Add(adoquery.Fields[6].asstring);
listitem.SubItems.Add(adoquery.Fields[7].asstring);
listitem.SubItems.Add(adoquery.Fields[8].asstring);
listitem.SubItems.Add(DateTimeToStr(adoquery.Fields[9].AsDateTime));
new(p);
p^ := adoquery.Fields[0].AsInteger ;
listitem.Data :=p;
adoquery.Next;
end;可不可以告诉我最后三句的意思,我不懂listitem.data是什么意思~
谢谢
p^ := adoquery.Fields[0].AsInteger ;
listitem.Data :=p;指向P结构的一个指针,这个结构是自定义的,任何结构
如
type
PItemData =^TItemData;
TItemData = record
FirstName:=String;
end;
上面的代码放在
type
TFrmMain =class(TForm)前面用的时候
var
P:=PNodeData;begin
New(p);分配内存
P^.firstname:='ddfsdf';
ListItem.data:=p
用dispose(p)来释放,只有在DELETE ITEM的时候才能释放,明白了吗
end;
New(p)
从程序员角度来说,delphi预留这个属性完全是为编程者提供某些方面的帮助,怎么使用完全看你。
不要忘了,Data是一个32位地址值,也就是说,你想在这里放置任何宽度为32位的值都行。比如:Integer,DWORD,Float,POinter,只要宽度兼容,都行,至于具体数值代表啥意思,完全看你喽。
type
PLVRecord = ^TLVRecord;
TLVRecord = packed record
xh:string;
end;var
p:PLVRecord....
...
p^.xh
1:listitem:=apart_LIST.Items.Add ; 左边是的listitem:Tlistitem,右边复职给左边怎么理解?
2:p^ := adoquery.Fields[0].AsInteger ; 左边是指针类,右边好像不是指针类型的吧?
这里又怎么理解
2.p是指针类型,p^代表p指向的数据,在你的程序中是integer