当然,这段代码是编译不了的。首先,我需要将 TObject 值转换为 Integer。然后,将其作为字符串读取。我应该使用什么功能?
for i := 1 to 9 do begin
cmbLanguage.Items.AddObject(Format('Item %d', [i]), TObject(i));
end;
cmbLanguage.ItemIndex := 2;
ShowMessage(cmbLanguage.Items.Objects[cmbLanguage.ItemIndex]);
或者也许可以首先使用字符串而不是整数?
最佳答案
cmbLanguage.Items.AddObject(Format('Item %d', [i]), TObject(i));
在这里,您要添加一个带有“对象”的项目,该“对象”实际上是一个转换为 TObject
的整数 (i
)。
由于您实际上在对象字段中存储 int,因此您可以将其转换回 Integer,然后将其转换为字符串:
ShowMessage(IntToStr(Integer(cmbLanguage.Items.Objects[cmbLanguage.ItemIndex])));
请注意,您在这里并没有真正转换任何内容,您只是假装您的整数是 TObject,这样编译器就不会提示。
关于delphi - 如何将整数存储在对象属性中,然后向用户显示该值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16159019/