如何在现代Delphi中使用SameText for AnsiStrings?

时间:2013-09-25 09:16:32

标签: delphi unicode string-comparison

我需要比较两个AnsiStrings以查看它们是否具有相同的文本(忽略大小写)。

var
  text1, text2: AnsiString;
begin
  if SameText(text1, text2) then
  ...

在Unicode之前的Delphi中,我会使用SameText函数,但在现代Delphi中只有它的Unicode版本,所以我收到这个警告:W1057 Implicit string cast from 'AnsiString' to 'string'随叫随到。

我的问题是,如何正确比较现代Delphi中的AnsiStrings而不会收到编译器警告(并且不必过多地将两个字符串都转换为UnicodeString(text)

1 个答案:

答案 0 :(得分:6)

确实,有一个AnsiStrings模块可以保留字符串utils的所有旧版AnsStrings版本:)

所以解决方案如下:

uses
  System.AnsiStrings;
...
var
  text1, text2: AnsiString;
begin
  if AnsiStrings.SameText(text1, text2) then
  ...