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

Kro*_*ica 2 delphi unicode string-comparison

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

var
  text1, text2: AnsiString;
begin
  if SameText(text1, text2) then
  ...
Run Code Online (Sandbox Code Playgroud)

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

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

Kro*_*ica 6

实际上,有一个AnsiStrings模块可以保存所有较旧的AnsStrings版本的字符串utils :)

所以解决方案如下:

uses
  System.AnsiStrings;
...
var
  text1, text2: AnsiString;
begin
  if AnsiStrings.SameText(text1, text2) then
  ...
Run Code Online (Sandbox Code Playgroud)