我将项目添加到列表框:
for i:=0 to HomeWorkers.Count-1 do
begin
s := '['+HomeWorker[i].Id+'] ' + HomeWorker[i].Name;
Listbox1.Items.Add(s);
end;
现在我要获取所选项目的数量。
我可以得到它的标题:
ShowMessage(ListBox1.Items.Strings[Listbox1.ItemIndex]);
示例ID:12880345、1274136。
我可以添加项目
'['+HomeWorker[i].Id+'] ' + HomeWorker[i].Name;
,但在ShowMessage中仅显示HomeWorker [i] .Id,而没有字符串标题解析?提前致谢。
P.S我来自俄罗斯,对不起,英语不好
最佳答案
您可以将ID存储在Objects
属性中,只需将类型从Integer
转换为TObject
:
ListBox1.Items.AddObject(Format('[%d] %s', [Homeworker.ID, Homeworker.Name]),
TObject(Homeworker.ID));
然后您可以检索它,进行类型转换:
ShowMessage(IntToStr(Integer(ListBox1.Items.Objects[ListBox1.ItemIndex])));