if语句中的string1.Equals(string2) - 没有Equals和expression这样的成员必须是BOOLEAN

时间:2014-03-27 10:56:30

标签: string delphi if-statement equals

我正在尝试制作一个if语句,我想比较2个字符串,无论它们是否相等。

这就是我所拥有的

 if  vysledok.Equals(meno) then
 Application.MessageBox('Zadane meno existuje, zadajte prosím iné meno','DUPLICITNÝ UŽÍVATEĽ',0)
 else
 ...

然而,vysledok.Equals(meno)有下划线,它说:

 'string' does not contain a member named 'Equals' at line ...
  Type of expression must be BOOLEAN at line ...

我必须提到我是delphi的新手:) 谢谢你的建议

2 个答案:

答案 0 :(得分:4)

在现代Delphi中,string中定义的SysUtils类型的帮助程序提供了Equals方法。因此,在XE3或更高版本中,如果使用SysUtils,则代码将编译。从中我们可以推测您使用的是旧版本的Delphi,或者没有使用SysUtils

在旧版本的Delphi中,您使用相等运算符来比较字符串:

if vysledok = meno then

实际上,Delphi字符串帮助器Equals方法的实现只不过是使用这个等式运算符进行比较。

如果您想要不区分大小写的比较,请使用SameText()

if SameText(vysledok, meno) then

答案 1 :(得分:-1)

这也应该有效:

if AnsiUpperCase(vysledok) = AnsiUpperCase(meno) then