[英]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应用程序-可能是问题吗?
谢谢
您正在调用TStrings
的Add
方法,该方法接收单个类型为string
参数。 您需要连接一个字符串和一个整数。 为此,您必须将整数转换为字符串。
您尝试使用IntToStr
做到这IntToStr
,这是一种非常合理的方法。 但这失败了,因为编译器无法找到IntToStr
。 现在, IntToStr
在声明SysUtils
单位,所以你必须在单元添加到您的uses
条款。
但是,我可能会在这里使用Format
。 像IntToStr
,这个函数是在声明SysUtils
,你必须使用。
Memo1.Lines.Add(Format('Physical Functioning: %d', [PhysFunc div PhysCount]));
有关格式的更多详细信息,请阅读有关格式字符串的文档。
代码的第一行不起作用,因为PhysFunc div PhysCount是一个整数,并且不会转换为字符串。
第二行代码应该可以工作,但是我会检查PhysFunc和PhysCount的实际值。 PhysCount是否有可能等于0?
第三行代码不起作用,因为IntToStr需要整数,并且您给了他一个字符串。
正如您所说,第四行代码无效,因为整数不包含成员'AsString'
您还说过:
IntToStr返回E2003未声明的标识符
这也可能是问题:两个变量之一未声明。 确保它们都在var部分中声明。
结论:
祝好运!
如果包含SysUtils,只需看看用途。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.