看源码,给分!!!!高手们快进来 我想大家帮我分析分析这段代码什么意思?它每条语句是干什么的其中List1是一个ListView控件 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 哦,能看懂就好1,BYTE()语句是干什么的?2,最下面的赋值语句.Data:=Pointer(4);是什么意思3,Pointer(BYTE(List1.Items[i].data)-1)是干什么呀?就这三个问题,谢谢了 List1.Items[i].Data保存的是对象的指针。 不好意思,List1.Items[i].Data是TObject类型的对象,你可以转换为任何其他类型,所以如果你list中保存的信息不够,可以在data中保存多一些,你也可以保存结构题,对象,等等,这里只是保存了一个byte 奶奶的!气晕了,不给分的王八蛋!http://www.csdn.net/expert/topic/466/466126.shtm 哦,能看懂就好1,BYTE()语句是干什么的? 类型转换,否则类型不匹配2,最下面的赋值语句.Data:=Pointer(4);是什么意思 同上3,Pointer(BYTE(List1.Items[i].data)-1)是干什么呀? 就是把接点的data值减一后赋值就这三个问题,谢谢了 hydra1101(虫):你小子是不是穷昏了,问题还没解释清楚就要分,去抢吧 2,最下面的赋值语句.Data:=Pointer(4);是什么意思 data的值赋为 4的指针 这段代码的意思就是把接点附加值(Data)的所有值都减一,如果小于0,那么删除结点,不过程序有错。 正确的应该是for i:=List1.Items.Count-1 downto 0 do if BYTE(List1.Items[i].Data)>0 then List1.Items[i].Data := Pointer(BYTE(List1.Items[i].Data)-1) else begin List1.Items[i].Delete; Break; end; hydra1101(虫):你小子是不是穷昏了,问题还没解释清楚就要分,去抢吧 不是说你,不好意思!是说连接帖子上的人。 这段程序的意思是不是这样的,每加入一行,将其Data为一个指向值为4的指针然后呢,每次调用这段代码,就将Data指针所指的值减1,直到其为0,当其为0时就删除这行,对不对呀 那是因为你没有出意外情况,假如list的中间出现了小于0的结点,那就出错了,你每次都是最尾出现小于0,当然不会错啦! 谢谢,你有QQ吗,或者Email,我想我还有不少问题得请教你呢注意收分,看来你是吃过不少亏,哈哈 我经常吃亏!真是的。我email:[email protected] 对,你说的没错,中间结点没处理,你线程熟悉吗?http://www.csdn.net/expert/topic/479/479344.shtm 熟悉!Delphi和CBuild、Ansi C++都挺熟,我过去看看。 TForm = class; 如何理解? 深夜万分紧急问题:delphi7做如下类似的表格循环显示,哪个组件能做到? DELPHI单片机通讯问题. 流操作问题,十万火急,在线等 大量文字怎么处理? 有关date的问题??? 如何设计程序在Memo当前光标位置插入字符串?急. 怎么动态生成一个控件呀,比如说我要运行的时候单击 test delphi制作媒体播放器的若干问题? delphi中提示“Grid index out of range”的错误信息,如何解决? 如何在Dbgrid中使用hint
1,BYTE()语句是干什么的?
2,最下面的赋值语句.Data:=Pointer(4);是什么意思
3,Pointer(BYTE(List1.Items[i].data)-1)是干什么呀?
就这三个问题,谢谢了
保存的是对象的指针。
http://www.csdn.net/expert/topic/466/466126.shtm
1,BYTE()语句是干什么的? 类型转换,否则类型不匹配
2,最下面的赋值语句.Data:=Pointer(4);是什么意思 同上
3,Pointer(BYTE(List1.Items[i].data)-1)是干什么呀? 就是把接点的data值减一后赋值就这三个问题,谢谢了
你小子是不是穷昏了,问题还没解释清楚就要分,去抢吧
data的值赋为 4的指针
把接点附加值(Data)的所有值都减一,如果小于0,那么删除结点,不过程序有错。
for i:=List1.Items.Count-1 downto 0 do
if BYTE(List1.Items[i].Data)>0 then
List1.Items[i].Data := Pointer(BYTE(List1.Items[i].Data)-1)
else begin
List1.Items[i].Delete;
Break;
end;
你小子是不是穷昏了,问题还没解释清楚就要分,去抢吧
不是说你,不好意思!是说连接帖子上的人。
然后呢,每次调用这段代码,就将Data指针所指的值减1,直到其为0,当其为0时就删除这行,对不对呀
有QQ吗,或者Email,我想我还有不少问题得请教你呢
注意收分,看来你是吃过不少亏,哈哈
我email:[email protected]
http://www.csdn.net/expert/topic/479/479344.shtm