Delphi Listbox项目名称,无标题

Ant*_*ton 2 delphi listbox

我将项目添加到列表框:

for i:=0 to HomeWorkers.Count-1 do
begin
s := '['+HomeWorker[i].Id+']  ' + HomeWorker[i].Name;
Listbox1.Items.Add(s);
end;
Run Code Online (Sandbox Code Playgroud)

现在我想获得所选项目的数量.我可以得到它的标题:

ShowMessage(ListBox1.Items.Strings[Listbox1.ItemIndex]);
Run Code Online (Sandbox Code Playgroud)

示例id`s:12880345,1274136.我可以添加项目

'['+HomeWorker[i].Id+']  ' + HomeWorker[i].Name;
Run Code Online (Sandbox Code Playgroud)

,但在ShowMessage中只显示HomeWorker [i] .Id没有字符串标题解析?提前致谢.PS我来自俄罗斯,很抱歉英语不好

Ond*_*lle 5

您可以将ID存储在Objects属性中,只需将其转换IntegerTObject:

ListBox1.Items.AddObject(Format('[%d] %s', [Homeworker.ID, Homeworker.Name]),
  TObject(Homeworker.ID));
Run Code Online (Sandbox Code Playgroud)

以后你可以检索它,回击:

ShowMessage(IntToStr(Integer(ListBox1.Items.Objects[ListBox1.ItemIndex])));
Run Code Online (Sandbox Code Playgroud)