繁体   English   中英

IntToStr未声明的标识符错误

[英]IntToStr undeclared identifier error

我想在备忘录,列表框或其他内容中显示某些整数。 我已经尝试过备忘录,列表框和showmessage(),但是每个都在字符串和整数之间引发不兼容错误。

这是开始出错的地方:

Memo1.Lines.Add('Physical Functioning: '+PhysFunc div PhysCount);

PhysFunc和PhysCount是进一步计算的整数。 我试过了,例如:

Memo1.Lines.Add('Physical Functioning: '+IntToStr(PhysFunc div PhysCount));

和:

Memo1.Lines.Add(IntToStr('Physical Functioning: '+PhysFunc div PhysCount));

和:

Memo1.Lines.Add(('Physical Functioning: '+PhysFunc div PhysCount).AsString);

与ListBox和showmessage()相同。 但是没有任何作用。 IntToStr返回E2003未声明的标识符,而.AsString返回错误,整数不包含成员'AsString'。 还有其他选择吗?

我在Delphi中使用SDI应用程序-可能是问题吗?

谢谢

您正在调用TStringsAdd方法,该方法接收单个类型为string参数。 您需要连接一个字符串和一个整数。 为此,您必须将整数转换为字符串。

您尝试使用IntToStr做到这IntToStr ,这是一种非常合理的方法。 但这失败了,因为编译器无法找到IntToStr 现在, IntToStr在声明SysUtils单位,所以你必须在单元添加到您的uses条款。

但是,我可能会在这里使用Format IntToStr ,这个函数是在声明SysUtils ,你必须使用。

Memo1.Lines.Add(Format('Physical Functioning: %d', [PhysFunc div PhysCount]));

有关格式的更多详细信息,请阅读有关格式字符串的文档。

代码的第一行不起作用,因为PhysFunc div PhysCount是一个整数,并且不会转换为字符串。

第二行代码应该可以工作,但是我会检查PhysFuncPhysCount的实际值。 PhysCount是否有可能等于0?

第三行代码不起作用,因为IntToStr需要整数,并且您给了他一个字符串。

正如您所说,第四行代码无效,因为整数不包含成员'AsString'

您还说过:

IntToStr返回E2003未声明的标识符

这也可能是问题:两个变量之一未声明。 确保它们都在var部分中声明。

结论:

  1. 检查两个变量是否都已声明;
  2. 检查评估时是否查看PhysCount <> 0。

祝好运!

如果包含SysUtils,只需看看用途。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM