怎么理解delphi的这句代码:listbox1.items.Objects[listbox1.ItemIndex]
procedureTForm1.ListBox1Click(Sender:TObject);vari:integer;beginedit1.Text:=listbox1....
procedure TForm1.ListBox1Click(Sender: TObject);
var
i:integer;
begin
edit1.Text :=listbox1.items[listbox1.ItemIndex];
i :=integer(listbox1.items.Objects[listbox1.ItemIndex]);//
edit2.Text :=inttostr(i);
end;
点击列表框中的不同项目时 edit2一直显示0.
integer(listbox1.items.Objects[listbox1.ItemIndex])是什么? 展开
var
i:integer;
begin
edit1.Text :=listbox1.items[listbox1.ItemIndex];
i :=integer(listbox1.items.Objects[listbox1.ItemIndex]);//
edit2.Text :=inttostr(i);
end;
点击列表框中的不同项目时 edit2一直显示0.
integer(listbox1.items.Objects[listbox1.ItemIndex])是什么? 展开
2个回答
展开全部
listbox 本身会维护一个object列,你用AddObject添加元素时就会和元素一一对应一个object对象,举个例子你就明白了。
listbox1.Items.AddObject('one',TObject(1));
listbox1.Items.AddObject('two',TObject(2));
listbox1.Items.AddObject('three',TObject(3));
integer(listbox1.items.Objects[0]) //1
integer(listbox1.items.Objects[1]) //2
integer(listbox1.items.Objects[2]) //3
你的一直显示0说明没用addobject添加,用的是add方法,对应的object默认为nil,转为integer自然就是0了
listbox1.Items.AddObject('one',TObject(1));
listbox1.Items.AddObject('two',TObject(2));
listbox1.Items.AddObject('three',TObject(3));
integer(listbox1.items.Objects[0]) //1
integer(listbox1.items.Objects[1]) //2
integer(listbox1.items.Objects[2]) //3
你的一直显示0说明没用addobject添加,用的是add方法,对应的object默认为nil,转为integer自然就是0了
展开全部
ListBox1.Item[I] 是一个TStrings对象,该对象提供一个TStrings.AddObject的方法
申明如下
function AddObject(const S: string; AObject: TObject): Integer; virtual;
参数为一个字符串,和对应的TObject指针
TStrings类本身自己维护一个TObject的数组
多看看VCL的源码就明白了
申明如下
function AddObject(const S: string; AObject: TObject): Integer; virtual;
参数为一个字符串,和对应的TObject指针
TStrings类本身自己维护一个TObject的数组
多看看VCL的源码就明白了
追问
注意:我问的不是AddObject()方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询