delphi - 如何将整数存储在对象属性中,然后向用户显示该值?

标签 delphi delphi-7

当然,这段代码是编译不了的。首先,我需要将 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/

相关文章:

arrays - 对数组进行排序并在Delphi中获取索引

multithreading - 将消息从 Thread 发布到 GUI 最佳实践?

windows - TWebBrowser 和 IE 版本

delphi - 在Delphi 7中在 Canvas 上绘制圆扇形的渐变

delphi - 在delphi 7中缓冲数据

delphi - GetDriveType 检测到 "Google Drive"为 DRIVE_FIXED...如何排除它们?

function - 如何将另一个函数返回的函数分配给函数变量?结果而不是生成函数本身

delphi - 为什么我们不能在 Delphi 7 中执行 PChar ('*' ) ?

delphi - 为什么在 FormCreate 中会失败,但在 FormShow 中却工作正常?

excel - 使用 Excel 的 Delphi Ole Automation 获取文本而不是值